Multi Indicator SummaryPurpose: It calculates and displays bullish and bearish order blocks, key levels derived from recent price movements, which traders use to identify potential support and resistance areas.
Inputs: Users can customize the order block length, defining the range of price data used for calculations.
Logic: The script uses ta.lowest and ta.highest functions to compute order blocks based on specified periods for bullish and bearish trends.
Additional Levels: It identifies extra order blocks (bullish_below and bearish_above) to provide more context for deeper support or higher resistance.
Price Table: A visual table is created on the chart, showing the current price, bullish and bearish order blocks, and additional bearish levels above the current price.
Alerts: Alerts are triggered when the price crosses key order block levels, helping traders react to significant price movements.
Flexibility: The table dynamically updates based on the chart’s ticker and timeframe, ensuring it always reflects the latest data.
Bearish Above Price: Highlights the most recent bearish order block above the current price to inform traders about potential resistance areas.
Visualization: The clear table format aids quick decision-making by summarizing key levels in an accessible way.
Usability: This script is especially useful for intraday and swing traders seeking to integrate order block analysis into their strategies.
Search in scripts for " TABLE"
Employee Portfolio Generator [By MUQWISHI]▋ INTRODUCTION :
The “Employee Portfolio Generator” simplifies the process of building a long-term investment portfolio tailored for employees seeking to build wealth through investments rather than traditional bank savings. The tool empowers employees to set up recurring deposits at customizable intervals, enabling to make additional purchases in a list of preferred holdings, with the ability to define the purchasing investment weight for each security. The tool serves as a comprehensive solution for tracking portfolio performance, conducting research, and analyzing specific aspects of portfolio investments. The output includes an index value, a table of holdings, and chart plots, providing a deeper understanding of the portfolio's historical movements.
_______________________
▋ OVERVIEW:
● Scenario (The chart above can be taken as an example) :
Let say, in 2010, a newly employed individual committed to saving $1,000 each month. Rather than relying on a traditional savings account, chose to invest the majority of monthly savings in stable well-established stocks. Allocating 30% of monthly saving to AMEX:SPY and another 30% to NASDAQ:QQQ , recognizing these as reliable options for steady growth. Additionally, there was an admired toward innovative business models of NASDAQ:AAPL , NASDAQ:MSFT , NASDAQ:AMZN , and NASDAQ:EBAY , leading to invest 10% in each of those companies. By the end of 2024, after 15 years, the total monthly deposits amounted to $179,000, which would have been the result of traditional saving alone. However, by sticking into long term invest, the value of the portfolio assets grew, reaching nearly $900,000.
_______________________
▋ OUTPUTS:
The table can be displayed in three formats:
1. Portfolio Index Title: displays the index name at the top, and at the bottom, it shows the index value, along with the chart timeframe, e.g., daily change in points and percentage.
2. Specifications: displays the essential information on portfolio performance, including the investment date range, total deposits, free cash, returns, and assets.
3. Holdings: a list of the holding securities inside a table that contains the ticker, last price, entry price, return percentage of the portfolio's total deposits, and latest weighted percentage of the portfolio. Additionally, a tooltip appears when the user passes the cursor over a ticker's cell, showing brief information about the company, such as the company's name, exchange market, country, sector, and industry.
4. Indication of New Deposit: An indication of a new deposit added to the portfolio for additional purchasing.
5. Chart: The portfolio's historical movements can be visualized in a plot, displayed as a bar chart, candlestick chart, or line chart, depending on the preferred format, as shown below.
_______________________
▋ INDICATOR SETTINGS:
Section(1): Table Settings
(1) Naming the index.
(2) Table location on the chart and cell size.
(3) Sorting Holdings Table. By securities’ {Return(%) Portfolio, Weight(%) Portfolio, or Ticker Alphabetical} order.
(4) Choose the type of index: {Assets, Return, or Return (%)}, and the plot type for the portfolio index: {Candle, Bar, or Line}.
(5) Positive/Negative colors.
(6) Table Colors (Title, Cell, and Text).
(7) To show/hide any of selected indicator’s components.
Section(2): Recurring Deposit Settings
(1) From DateTime of starting the investment.
(2) To DateTime of ending the investment
(3) The amount of recurring deposit into portfolio and currency.
(4) The frequency of recurring deposits into the portfolio {Weekly, 2-Weeks, Monthly, Quarterly, Yearly}
(5) The Depositing Model:
● Fixed: The amount for recurring deposits remains constant throughout the entire investment period.
● Increased %: The recurring deposit amount increases at the selected frequency and percentage throughout the entire investment period.
(5B) If the user selects “ Depositing Model: Increased % ”, specify the growth model (linear or exponential) and define the rate of increase.
Section(3): Portfolio Holdings
(1) Enable a ticker in the investment portfolio.
(2) The selected deposit frequency weight for a ticker. For example, if the monthly deposit is $1,000 and the selected weight for XYZ stock is 30%, $300 will be used to purchase shares of XYZ stock.
(3) Select up to 6 tickers that the investor is interested in for long-term investment.
Please let me know if you have any questions
DTS- Dynamic Trend SignalDynamic Trend Signal
The Dynamic Trend Signal indicator is a powerful and highly customizable tool designed for traders who want clear and actionable signals to guide their trading decisions. This indicator leverages the relationship between two moving averages and the current price to provide concise buy/sell recommendations while visually enhancing your chart with professional-grade features.
Key Features:
Actionable Trading Signals:
STRONG BUY / NO SELL: When the price is above both moving averages.
BUY / NO SELL: When the price is above the longer moving average but below the shorter moving average.
NO BUY / SELL: When the price is below the longer moving average but above the shorter moving average.
STRONG SELL / NO BUY: When the price is below both moving averages.
Dynamic Signal Table:
Displays real-time trading signals in a convenient table format.
Automatically updates based on market conditions.
Customizable table position (top-left, top-right, bottom-left, or bottom-right).
Dynamic background and text colors for improved visibility:
Green shades for bullish signals.
Red shades for bearish signals.
Customizable Moving Averages:
Configure each moving average independently:
Choose between Simple Moving Average (SMA) and Exponential Moving Average (EMA).
Set unique lengths, colors, and line thickness for each average.
Default settings:
MA1: Short-term (8-period) with thickness 1.
MA2: Long-term (20-period) with thickness 2.
Optional Crossover Alerts:
Visual and textual alerts for moving average crossovers:
BUY: When the shorter moving average crosses above the longer moving average.
SELL: When the shorter moving average crosses below the longer moving average.
Crossover alerts are disabled by default but can be easily enabled in settings.
Ease of Use:
Intuitive interface with clean and professional visuals.
Fully customizable to fit any trading strategy or chart style.
How It Helps Traders:
The Dynamic Trend Signal simplifies market analysis by removing guesswork and focusing on clear, data-driven signals. Whether you're a beginner looking for straightforward guidance or an experienced trader seeking to enhance your strategy, this indicator provides:
Confidence in decision-making with clear buy/sell signals.
Customization to align with your unique trading approach.
Clarity through visually appealing, color-coded signals and alerts.
Ideal For:
Swing Traders
Day Traders
Trend Followers
Traders looking to integrate a dynamic, rule-based approach to their analysis.
How to Use:
Add the Dynamic Trend Signal indicator to your chart.
Adjust the moving average lengths, types, colors, and thickness to suit your trading strategy.
Monitor the signal table for actionable recommendations.
Optionally enable crossover alerts for real-time buy/sell notifications.
Unlock the power of clear and actionable trading signals with the Dynamic Trend Signal! Add it to your TradingView chart today and take your trading strategy to the next level.
Adaptive Linear Regression ChannelOverview
The Adaptive Linear Regression Channel Script is an advanced, multi-functional trading tool crafted to help traders pinpoint market trends, identify potential reversals, assess volatility, and establish dynamic levels for profit-taking and position exits. By incorporating key concepts such as linear regression , standard deviation , and other volatility measures like the ATR , the script offers a comprehensive view of market behavior beyond traditional deviation metrics.
This dynamic model continuously adapts to changing market conditions, adjusting in real-time to provide clear visualizations of trends, channels, and volatility levels. This adaptability makes the script invaluable for both trend-following and counter-trend strategies, giving traders the flexibility to respond effectively to different market environments.
Background
What is Linear Regression?
Definition : Linear regression is a statistical technique used to model the relationship between a dependent variable (target) and one or more independent variables (predictors).
In its simplest form (simple linear regression), the relationship between two variables is represented by a straight line (the regression line).
y = mx + b
where :
- y is the target variable (price)
- m is the slope
- x is the independent variable (time)
- b is the intercept
Slope of the Regression Line
Definition: The slope (m) measures the rate at which the dependent variable (y) changes as the independent variable (x) changes.
Interpretation:
- A positive slope indicates an uptrend.
- A negative slope indicates a downtrend.
Uses in Trading:
- Identifying the strength and direction of market trends.
- Assessing the momentum of price movements.
R-squared (Coefficient of Determination)
Definition: A measure of how well the regression line fits the data, ranging from 0 to 1.
Calculation :
R2 = 1− (SS tot/SS res)
where:
- SSres is the sum of squared residuals.
- SStot is the total sum of squares.
Interpretation:
- Higher R2 indicates a better fit, meaning the model explains a larger proportion of the variance in the data.
Uses in Trading:
- Higher R-squared values give traders confidence in trend-based signals.
- Low R-squared values may suggest that the market is more random or volatile.
Standard Deviation
Definition: Standard Deviation quantifies the dispersion of data points in a dataset relative to the mean. A low standard deviation indicates that data points tend to be close to the mean, while a high standard deviation indicates that the data points are spread out over a larger range of values.
Calculation
σ=√∑(xi−μ)2/N
Where
- σ is the standard deviation.
- ∑ is the summation symbol, indicating that the expression that follows should be summed over all data points.
- xi, this represents the i-th data point in the dataset.
- μ\mu, this represents the mean(average) of all the data points in the dataset.
- (xi−μ)2, this is the squared difference between each data point and the mean.
- N is the total number of data points in the dataset.
- **Interpretation**
- A higher standard deviation indicates greater volatility.
- Useful for identifying overbought/oversold conditions in markets.
Key Features
Dynamic Linear Regression Channels:
The script automatically generates adaptive regression channels that expand or contract based on the current market volatility. This real-time adjustment ensures that traders are always working with the most relevant data, making it easier to spot key support and resistance levels.
The channel width itself serves as an indicator of market volatility, expanding during periods of heightened uncertainty and contracting during more stable phases. Additionally, the channel width is trained on previous channel widths , allowing the script to adapt and provide a more accurate view of volatility trends of the asset. Traders can also customize the script to train on less historical data , enabling a more recent view of volatility , which is particularly useful in fast-moving or changing markets.
Dynamic Profits and Stops:
What is it?
Dynamic profit levels allow traders to adjust take-profit targets based on real-time market conditions. Unlike static levels, which remain fixed regardless of market changes, these adaptive levels leverage past volatility data to create more flexible profit-taking strategies.
How does it work?
The script determines these levels using previously stored deviation values. These deviations are categorized into quantiles (like Q1, Q2, Q3, etc.) to classify current market conditions. As new deviation data is recorded, the profit levels are adjusted dynamically to reflect changes in market volatility. This approach helps to refine profit targets, especially when using regression channels with standard deviation rather than traditional ATR bands.
Why is it valuable?
By utilizing adaptive profit levels, traders can optimize their exits based on the current volatility landscape. For instance, when volatility increases, the dynamic levels expand, allowing trades to capture larger price movements. Conversely, during low volatility, profit targets tighten to lock in gains sooner, reducing exposure to market reversals. This flexibility is especially beneficial when combined with adaptive regression channels that respond to changes in standard deviation.
Slope-Based Trend Analysis:
One of the core elements of this script is the slope of the regression line , which helps define the direction and strength of the trend. Positive slopes indicate bullish momentum, while negative slopes suggest bearish conditions. The slope's steepness gives traders insight into the market's momentum, allowing them to adjust their strategies based on the strength of the trend.
Additionally, the script uses the slope to create a color gradient , which visually represents the intensity of the market's momentum. The gradient peaks at one color to show the maximum bullish momentum experienced in the past, while another color represents the maximum bearish momentum experienced in the past. This color-coded visualization makes it easier for traders to quickly assess the market's strength and direction at a glance.
Volatility Heatmap:
The integrated heatmap provides an intuitive, color-coded visualization of market volatility. The heatmap highlights areas where price action is expanding or contracting, giving traders a clear view of where volatility is rising or falling. By mapping out deviations from the regression line, the heatmap makes it easier to spot periods of high volatility that could lead to major market moves or potential reversals.
Deviation Concepts:
The script tracks price deviations from the regression line when a new range is formed, providing valuable insights when the price significantly deviates from the expected trend. These deviations are key in identifying potential breakout points or trend shifts .
This helps traders understand when the market is overextended or when a pullback may be imminent, allowing them to make more informed trading decisions.
Adaptive Model Properties:
Unlike static indicators, this script adapts over time . As the market changes, it stores historical data related to channel widths , slope dynamics , and volatility levels , adjusting its analysis accordingly to stay relevant to current market conditions.
Traders have the ability to train the model on all available data or specify a set number of bars to focus on more recent market activity. This flexibility allows for more tailored analysis , ensuring that traders can work with data that best fits their trading style and time horizon.
This continuous learning approach ensures that traders always have the most up-to-date insight into the market's structure.
Table
The table displays key metrics in real time to provide deeper insights into market behavior:
1. Deviation & Slope : Shows the current deviation if set to standard deviation or atr if set to atr(values used to calculated the channel widths) and the trend slope, helping to gauge market volatility and trend direction.
2. Rate of Change : For both deviation/atr and slope, the table also calculates the rate of change of their rates—essentially capturing the acceleration or deceleration of trends and volatility. This helps identify shifts in market momentum early.
3. R-squared : Indicates the strength and reliability of the trend fit. A higher value means the regression line better explains the price movements.
4. Quantiles : Uses historical deviation data to categorize current market conditions into quartiles (e.g., Q1, Q2, Q3). This helps classify the market's current volatility level, allowing traders to adjust strategies dynamically.
By combining these metrics, the table offers a comprehensive, real-time snapshot of market conditions, enabling more informed and adaptive trading decisions.
Settings
Here’s a breakdown of the script's settings for easy reference:
Linear Regression Settings
Show Dynamic Levels :Toggle to display dynamic profit levels on the chart.
Deviation Type :Select the method for calculating deviation—options include ATR (Average True Range) or Standard Deviation.
Timeframe :Sets the specific timeframe for the regression analysis (default is the chart’s timeframe).
Period :Defines the number of bars used for calculating the regression line (e.g., 50 bars).
Deviation Multiplier :Multiplier used to adjust the width of the deviation channel around the regression line.
Rate of Change :Sets the period for calculating the rate of change of the slope (used for momentum analysis).
Max Bars Back :Limits the number of historical bars to analyze (0 means all available data).
Slope Lookback :Number of bars used to calculate the slope gradient for trend detection.
Slope Gradient Display :Toggle to enable gradient coloring based on slope direction.
Slope Gradient Colors :Set colors for positive and negative slopes, respectively.
Slope Fill :Adjusts the transparency of the slope gradient fill.
Volatility Gradient Display :Toggle to enable gradient coloring based on volatility levels.
Volatility Gradient Colors :Set colors for low and high volatility, respectively.
Volatility Fill :Adjusts the transparency of the volatility gradient fill.
Table Settings
Show Table :Toggle to display the metrics table on the chart.
Table Position :Choose where to position the table (e.g., top-right, middle-center, etc.).
Font Size :Set the size of the text in the table. Options include Tiny, Small, Normal, Large, and Huge.
AutoCorrelation Test [OmegaTools]Overview
The AutoCorrelation Test indicator is designed to analyze the correlation patterns of a financial asset over a specified period. This tool can help traders identify potential predictive patterns by measuring the relationship between sequential returns, effectively assessing the autocorrelation of price movements.
Autocorrelation analysis is useful in identifying the consistency of directional trends (upward or downward) and potential cyclical behavior. This indicator provides an insight into whether recent price movements are likely to continue in a similar direction (positive correlation) or reverse (negative correlation).
Key Features
Multi-Period Autocorrelation: The indicator calculates autocorrelation across three periods, offering a granular view of price movement consistency over time.
Customizable Length & Sensitivity: Adjustable parameters allow users to tailor the length of analysis and sensitivity for detecting correlation.
Visual Aids: Three separate autocorrelation plots are displayed, along with an average correlation line. Dotted horizontal lines mark the thresholds for positive and negative correlation, helping users quickly assess potential trend continuation or reversal.
Interpretive Table: A table summarizing correlation status for each period helps traders make quick, informed decisions without needing to interpret the plot details directly.
Parameters
Source: Defines the price source (default: close) for calculating autocorrelation.
Length: Sets the analysis period, ranging from 10 to 2000 (default: 200).
Sensitivity: Adjusts the threshold sensitivity for defining correlation as positive or negative (default: 2.5).
Interpretation
Above 50 + Sensitivity: Indicates Positive Correlation. The price movements over the selected period are likely to continue in the same direction, potentially signaling a trend continuation.
Below 50 - Sensitivity: Indicates Negative Correlation. The price movements show a likelihood of reversing, which could signal an upcoming trend reversal.
Between 50 ± Sensitivity: Indicates No Correlation. Price movements are less predictable in direction, with no clear trend continuation or reversal tendency.
How It Works
The indicator calculates the logarithmic returns of the selected source price over each length period.
It then compares returns over consecutive periods, categorizing them as either "winning" (consistent direction) or "losing" (inconsistent direction) movements.
The result for each period is displayed as a percentage, with values above 50% indicating a higher degree of directional consistency (positive or negative).
A table updates with descriptive labels (Positive Correlation, Negative Correlation, No Correlation) for each tested period, providing a quick overview.
Visual Elements
Plots:
AutoCorrelation Test : Displays autocorrelation for the closest period (lag 1).
AutoCorrelation Test : Displays autocorrelation for the second period (lag 2).
AutoCorrelation Test : Displays autocorrelation for the third period (lag 3).
Average: Displays the simple moving average of the three test periods for a smoothed view of overall correlation trends.
Horizontal Lines:
No Correlation (50%): A baseline indicating neutral correlation.
Positive/Negative Correlation Thresholds: Dotted lines set at 50 ± Sensitivity, marking the thresholds for significant correlation.
Usage Guide
Adjust Parameters:
Select the Source to define which price metric (e.g., close, open) will be analyzed.
Set the Length based on your preferred analysis window (e.g., shorter for intraday trends, longer for swing trading).
Modify Sensitivity to fine-tune the thresholds based on market volatility and personal trading preference.
Interpret Table and Plots:
Use the table to quickly check the correlation status of each lag period.
Analyze the plots for changes in correlation. If multiple lags show positive correlation above the sensitivity threshold, a trend continuation may be expected. Conversely, negative values suggest a potential reversal.
Integrate with Other Indicators:
For enhanced insights, consider using the AutoCorrelation Test indicator in conjunction with other trend or momentum indicators.
This indicator offers a powerful method to assess market conditions, identify potential trend continuations or reversals, and better inform trading decisions. Its customization options provide flexibility for various trading styles and timeframes.
Weekly High/Low Day BreakdownThe "Weekly High/Low Day Breakdown" is a tool designed to help identify patterns in market behaviour by analysing the days of the week when weekly highs and lows occur. This indicator calculates the frequency and percentage of weekly highs and lows for each day from Monday to Sunday within the visible range of your chart.
Features:
Weekly Analysis: Calculates weekly highs and lows based on daily open high and low prices from Monday to Sunday.
Day-Specific Breakdown: Tracks which day of the week each weekly high and low occurred.
Visible Range Focus: Only considers data within the current visible range of your chart for precise analysis.
Interactive Table Display: Presents the results in an easy-to-read table directly on your chart.
How It Works:
Data Collection: Fetches daily high, low, day of the week, and time data regardless of your chart's timeframe. Uses these daily figures to determine the weekly high and low for each week.
Weekly Tracking: Monitors the day of the week when the weekly high and low prices occur. Resets tracking at the end of each week (Sunday).
Visible Range Analysis: Only includes weeks that fall entirely within the visible time range of your chart. Ensures that the analysis is relevant to the period you are focusing on.
Percentage Calculation: Counts the occurrences of weekly highs and lows for each day. Calculates the percentage based on the total number of weeks in the visible range.
Result Display: Generates a table with days of the week as columns and "Weekly High" and "Weekly Low" as rows. Displays the percentage values, indicating how often highs and lows occur on each day.
How to Use:
Add the Indicator: Apply the "Weekly High/Low Day Breakdown" indicator to your TradingView chart.
Adjust Visible Range: Zoom in or out to set the desired visible time range for your analysis.
Interpret the Table:
Columns: Represent days from Monday to Sunday.
"Weekly High" Row: Shows the percentage of times the weekly high occurred on each day. "Weekly Low" Row: Shows the percentage of times the weekly low occurred on each day.
Colors: Blue text indicates high percentages, red text indicates low percentages.
Example Interpretation:
If the table shows a 30% value under "Tuesday" for "Weekly High," it means that in 30% of the weeks within the visible range, the highest price of the week occurred on a Tuesday.
Similarly, a 40% value under "Friday" for "Weekly Low" indicates that 40% of the weekly lows happened on a Friday.
Zero Lag Trend Signals (MTF) [AlgoAlpha]Zero Lag Trend Signals 🚀📈
Ready to take your trend-following strategy to the next level? Say hello to Zero Lag Trend Signals , a precision-engineered Pine Script™ indicator designed to eliminate lag and provide rapid trend insights across multiple timeframes. 💡 This tool blends zero-lag EMA (ZLEMA) logic with volatility bands, trend-shift markers, and dynamic alerts. The result? Timely signals with minimal noise for clearer decision-making, whether you're trading intraday or on longer horizons. 🔄
🟢 Zero-Lag Trend Detection : Uses a zero-lag EMA (ZLEMA) to smooth price data while minimizing delay.
⚡ Multi-Timeframe Signals : Displays trends across up to 5 timeframes (from 5 minutes to daily) on a sleek table.
📊 Volatility-Based Bands : Adaptive upper and lower bands, helping you identify trend reversals with reduced false signals.
🔔 Custom Alerts : Get notified of key trend changes instantly with built-in alert conditions.
🎨 Color-Coded Visualization : Bullish and bearish signals pop with clear color coding, ensuring easy chart reading.
⚙️ Fully Configurable : Modify EMA length, band multiplier, colors, and timeframe settings to suit your strategy.
How to Use 📚
⭐ Add the Indicator : Add the indicator to favorites by pressing the star icon. Set your preferred EMA length and band multiplier. Choose your desired timeframes for multi-frame trend monitoring.
💻 Watch the Table & Chart : The top-right table dynamically updates with bullish or bearish signals across multiple timeframes. Colored arrows on the chart indicate potential entry points when the price crosses the ZLEMA with confirmation from volatility bands.
🔔 Enable Alerts : Configure alerts for real-time notifications when trends shift—no need to monitor charts constantly.
How It Works 🧠
The script calculates the zero-lag EMA (ZLEMA) by compensating for data lag, giving traders more responsive moving averages. It checks for volatility shifts using the Average True Range (ATR), multiplied to create upper and lower deviation bands. If the price crosses above or below these bands, it marks the start of new trends. Additionally, the indicator aggregates trend data from up to five configurable timeframes and displays them in a neat summary table. This helps you confirm trends across different intervals—ideal for multi-timeframe analysis. The visual signals include upward and downward arrows on the chart, denoting potential entries or exits when trends align across timeframes. Traders can use these cues to make well-timed trades and avoid lag-related pitfalls.
Volume Insignts AnalyzerDescription:
The Volume Insight Analyzer is an advanced Pine Script designed for traders who want a comprehensive view of volume dynamics on their charts. This script combines multiple volume-based indicators to help identify key trading opportunities, including significant volume days, volume dry-ups, and pocket pivots.
Key Features:
VDU (Volume Dry-Up) Detection: Automatically identifies and marks days when the volume is significantly below its moving average, helping to spot potential breakout or breakdown points. Customizable volume thresholds allow for tailored analysis based on your trading strategy. The Volume Dry-Up label appears when the volume is substantially below its average level and the price is near a key moving average. This condition indicates a period of equilibrium between supply and demand, suggesting a potential low-risk entry point for traders.
Pocket Pivot Analysis using 5 and 10 Length Pocket Pivots: Highlights days with exceptionally high volume compared to recent history, indicating potential pocket pivots. Visual markers on the chart and volume bars color-coded for 5 and 10-day lengths. Pocket pivot points are identified when the volume on a given day exceeds the maximum volume observed over the past several days. Specifically, a 5-day pocket pivot point is marked when today's volume surpasses the highest selling volume of the last 5 days. A cluster of 5-day pocket pivot points within a base is a strong indicator of stock strength. Similarly, a 10-day pocket pivot point following a Volume Dry-Up (VDU) suggests a potential entry opportunity. Moreover, a pre-existing cluster of 5-day pocket pivot points before a 10-day pocket pivot point provides greater conviction in the trade.
Volume Moving Averages: Set different lengths for primary and secondary moving averages to track volume trends over daily, weekly, and monthly timeframes. Options to display moving average lines on the volume chart.
Volume Visualization:
a. Major and Minor Volume Bars: Option to display bars that are either above or below average volume levels. Adjustable settings to show or hide these bars based on user preference.
b. Volume Bar Coloring: Volume bars are color-coded based on significant volume thresholds, including green for bullish signals, red for bearish signals, and orange for volume dry-ups.
Volume Metrics Table: A customizable table that displays real-time volume metrics including Relative Volume (RVOL), Turnover, and the number of high volume days. The table can be oriented horizontally or vertically and styled according to your theme preferences.
Visual Indicators:
a) Volume Dry-Up (VDU) Labels: Clearly marked VDU events with textual annotations on the chart.
b) Bullish and Bearish Arrows: Arrows indicating potential bullish or bearish closes based on volume analysis, enhancing decision-making.
Customization Options:
a) Dark and Light Theme Support: Toggle between dark and light themes to match your chart settings.
b) Adjustable Parameters: Easily configure input settings such as volume thresholds, MA lengths, and table display options to fit your trading style.
How to Use:
Set Parameters: Adjust the script settings such as volume thresholds, moving average lengths, and display preferences according to your analysis needs.
Analyze Volume Patterns: Use the indicators and visual markers provided by the script to identify significant volume patterns and potential trading signals.
Monitor Metrics: Refer to the volume metrics table for a quick overview of key volume-related statistics and trends.
Make Informed Decisions: Utilize the visual cues and volume data provided by the script to enhance your trading strategy and make more informed decisions.
Disclaimer:
This script is for informational purposes only and should not be considered as trading advice. Use it in conjunction with other analysis tools and consult with a financial advisor if needed. Trading involves risk, and past performance does not guarantee future results.
Trend DetectorThe Trend Detector indicator is a powerful tool to help traders identify and visualize market trends with ease. This indicator uses multiple moving averages (MAs) of different timeframes to provide a comprehensive view of market trends, making it suitable for traders of all experience levels.
█ USAGE
This indicator will automatically plot the chosen moving averages (MAs) on your chart, allowing you to visually assess the trend direction. Additionally, a table displaying the trend data for each selected MA timeframe is included to provide a quick overview.
█ FEATURES
1. Customizable Moving Averages: The indicator supports various types of moving averages, including Simple (SMA) , Exponential (EMA) , Smoothed (RMA) , Weighted (WMA) , and Volume-Weighted (VWMA) . You can select the type and length for each MA.
2. Multiple Timeframes: Plot moving averages for different timeframes on a single chart, including fast (short-term) , mid (medium-term) , and slow (long-term) MAs.
3. Trend Detector Table: A customizable table displays the trend direction (Up or Down) for each selected MA timeframe, providing a quick and easy way to assess the market's overall trend.
4. Customizable Appearance: Adjust the colors, frame, border, and text of the Trend Detector Table to match your chart's style and preferences.
5. Wait for Timeframe Close: Option to wait until the selected timeframe closes to plot the MA, which will remove the gaps.
█ CONCLUSION
The Trend Detector indicator is a versatile and user-friendly tool designed to enhance your trading strategy. By providing a clear visualization of market trends across multiple timeframes, this indicator helps you make informed trading decisions with confidence and trade with the market trend. Whether you're a day trader or a long-term investor, this indicator is an essential addition to your trading toolkit.
█ IMPORTANT
This indicator is a tool to aid in your analysis and should not be used as the sole basis for trading decisions. It is recommended to use this indicator in conjunction with other tools and perform comprehensive market analysis before making any trades.
Happy trading!
Stock WatchOverview
Watch list are very common in trading, but most of them simply provide the means of tracking a list of symbols and their current price. Then, you click through the list and perform some additional analysis individually from a chart setup. What this indicator is designed to do is provide a watch list that employs a high/low price range analysis in a table view across multiple time ranges for a much faster analysis of the symbols you are watching.
Discussion
The concept of this Stock Watch indicator is best understood when you think in terms of a 52 Week Range indication on many financial web sites. Taken a given symbol, what is the high and the low over a 52 week range and then determine where current price is within that range from a percentage perspective between 0% and 100%.
With this concept in mind, let's see how this Stock Watch indicator is meant to benefit.
There are four different H/L ranges relative to the chart's setting and a Scope property. Let's use a three month (3M) chart as our example and set the indicator's Scope = 4. A 3M chart provides three months of data in a single candle, now when we set the Scope = 4 we are stating that 1X is going to look over four candles for the high/low range.
The Scope property is used to determine how many candles it is to scan to determine the high/low range for the corresponding 1X, 3X, 5X and 10X periods. This is how different time ranges are put into perspective. Using a 3M chart with Scope = 4 would represent the following time windows:
- 1X = 3M * 4 is a 12 Months or 1 Year High/Low Range
- 3X = 3M * 4 * 3 is a 36 Months or 3 Years High/Low Range
- 5X = 3M * 4 * 5 is a 60 Months or 5 Years High/Low Range
- 10X = 3M * 4 * 10 is a 120 Months or 10 Years High/Low Range.
With these calculations, the indicator then determines where current price is within each of these High/Low ranges from a percentage perspective between 0% and 100%.
Once the 0% to 100% value is calculated, it then will shade the value according to a color gradient from red to green (or any other two colors you set the indictor to). This color shading really helps to interpret current price quickly.
The greater power to this range and color shading comes when you are able to see where price is according to price history across the multiple time windows. In this example, there is quick analysis across 1 Year, 3 Year, 5 Year and 10 Year windows.
Now let's further improve this quick analysis over 15 different stocks for which the indicator allows you to watch up to at any one time.
For value traders this is huge, because we're always looking for the bargains and we wait for price to be in the value range. Using this indicator helps to instantly see if price has entered a value range before we decide to do further analysis with other charting and fundamental tools.
The Code
The heart of all this is really very simple as you can see in the following code snippet. We're simply looking for the highest high and lowest low across the different scopes and calculating the percentage of the range where current price is for each symbol being watched.
scope = baseScope
watch1X = math.round(((watchClose - ta.lowest(watchLow, scope)) / (ta.highest(watchHigh, scope) - ta.lowest(watchLow, scope))) * 100, 0)
table.cell(tblWatch, columnId, 2, str.format("{0, number, #}%", watch1X), text_size = size.small, text_color = colorText, bgcolor = getBackColor(watch1X))
//3X Lookback
scope := baseScope * 3
watch3X = math.round(((watchClose - ta.lowest(watchLow, scope)) / (ta.highest(watchHigh, scope) - ta.lowest(watchLow, scope))) * 100, 0)
table.cell(tblWatch, columnId, 3, str.format("{0, number, #}%", watch3X), text_size = size.small, text_color = colorText, bgcolor = getBackColor(watch3X))
Conclusion
The example I've laid out here are for large time windows, because I'm a long term investor. However, keep in mind that this can work on any chart setting, you just need to remember that your chart's time period and scope work together to determine what 1X, 3X, 5X and 10X represent.
Let me try and give you one last scenario on this. Consider your chart is set for a 60 minute chart, meaning each candle represents 60 minutes of time and you set the Stock Watch indicator to a scope = 4. These settings would now represent the following and you would be watching up to 15 different stocks across these windows at one time.
1X = 60 minutes * 4 is 240 minutes or 4 hours of time.
3X = 60 minutes * 4 * 3 = 720 minutes or 12 hours of time.
5X = 60 minutes * 4 * 5 = 1200 minutes or 20 hours of time.
10X = 60 minutes * 4 * 10 = 2400 minutes or 40 hours of time.
I hope you find value in my contribution to the cause of trading, and if you have any comments or critiques, I would love to here from you in the comments.
Time-itTime-it = Time based indicator
The Time-it indicator parses data by the day of week. Every tradeable instrument has its own personality. Some are more volatile on Mondays, and some are more bullish / bearish on Fridays or any day in between. The key metrics Time-it parses is range, open, high, low, close and +volume-.
The Time-it parsed data is printed in a table format. The table, position, size & color and text color & size can be changed to your preference. Each column parsed data is the last 10 which is numbered 0-9 which refers to the number of the selected day bars ago. For example: if Monday is chosen, 0 is the last closed Monday bar and 9 is the last closed Monday 9 Monday bars ago.
Range = measures the range between high and low for the day.
Open = is the opening price for the day.
High = is the high price for the day.
Low = is the low price for the day.
Close = is the closing price for the day.
+volume- = is the positive or negative volume for the day.
Default settings:
*Represents a how to use tooltip*
Source = ohlc4
* The source used for MA
MA length = 20
* The moving average used
Day bar color on / off
* checked on / unchecked off
Monday = blue
Tuesday = yellow
Wednesday = purple
Thursday = orange
Friday = white
Saturday = red
Sunday = green
Day M, T, W, TH, F, ST, SN.
* Parsed data for the day of week tables
Table, position, size & color:
Top, middle, bottom, left, center, right
* Table position on the chart.
Frame width & border width = 1
Text color and text size
Border color and frame color
Decimal place = 0
* example: use 0 for a round number, use 4 for Forex
*** The Time-it indicator uses parts and/or pieces of code from "Tradingview Up/Down Volume" and "Tradingview Financials on Chart".
Smart Money Breakouts [ChartPrime]The " Smart Money Breakouts " indicator is designed to identify breakouts based on changes in character (CHOCH) or breaks of structure (BOS) patterns, facilitating automated trading with user-defined Take Profit (TP) level.
the indicator incorporates essential elements such as volume analysis and a data table to assist traders in optimizing their strategies.
🔸 Breakout Detection:
The indicator scans price movements for "Change in Character" (CHOCH) and "Break of Structure" (BOS) patterns, signaling potential breakout opportunities in the market.
🔸User-Defined TP :
Traders can customize the Take Profit (TP) through the indicator settings, with these levels dynamically calculated based on the Average True Range (ATR). This allows for precise risk management and profit targets that adapt to market volatility.
🔸 Volume Analysis and Trade Direction Specific Analysis:
The indicator includes a volume checker that provides valuable insights into the strength of the breakout, taking into account trade direction.
🔸If the volume label is red and the trade is long, it suggests a higher likelihood of hitting the Stop Loss (SL).
🔸If the volume label is green and the trade is long, it indicates a higher probability of hitting the Take Profit (TP).
🔸For short trades, a red volume label suggests a higher likelihood of hitting TP, while a green label suggests a higher likelihood of hitting SL.
🔸A yellow volume label suggests that the volume is inconclusive, neither favoring bullish nor bearish movements.
🔸Data Table:
The indicator features a data table that keeps track of the number of winning and losing trades for specific timeframes or configurations.
This table serves as a valuable tool for traders to analyze performance and discover optimal settings and timeframes.
The "Smart Money Breakouts" indicator provides traders with a comprehensive solution for breakout trading, combining technical analysis of changes in character and breaks of structure, volume insights, and performance tracking while dynamically adjusting TP and SL levels based on market volatility through the ATR.
IU Probability CalculatorHow This Script Works:
1. This script calculate the probability of price reaching a user-defined price level within one candle with the help Normal Distribution Probability Table.
2. Normal Distribution Probability Table is use for calculating probability of events, it's very powerful for calculation of probability and this script is fully based on that table.
3. It takes the Average True Range value or Standard Deviation value of past user-defined length bar.
4. After that it take this formula z = ( price_level - close ) / (ATR or Standard Deviation) and return the value for z, for the bearish side it take z = (close - price level) / (ATR or Standard Deviation ) formula.
5. Once we have the z it look into Normal Distribution Probability Table and match the value.
6. Now the value of z is multiple buy 100 in order to make it look in percentage term.
7. After that this script subtract the final value with 100 because probability always comes under 100%
8. finally we plot the probability at the bottom of the chart the red line indicates "The probability of price not reaching that price level", While the green line indicates "Probability of price Reaching that level " .
9. This script will work fine for both of the directions
How This Is Useful For The User:
1. With this script user can know the probability of price reaching the certain level within one candle for both Directions .
2. This is useful while creating options hedging strategies
3. This can be helpful for deciding stop loss level.
4. It's useful for scalpers for managing their traders and it can be use by binary option traders.
Supertrend Targets [ChartPrime]The Supertrend Targets indicator combines the concepts of trend-following with dynamic volatility-based target levels. It takes core simple and classical concepts and provides actionable insights. The core of this indicator revolves around the "Supertrend" algorithm, which essentially uses the Average True Range (ATR) and a multiplier to determine if the price of a financial instrument is in an uptrend or downtrend. The indicator generates various plot points on the trading chart, which traders can use to make informed trading decisions.
Users can set several input parameters such as the source price, custom levels, multiplier scale, length of the average true range, and the window length. Traders can also opt to enable a table that shows numeric target data by percentiles, risk ratio, take profit and stop loss points.
The generated plots and fills on the chart represent various levels of potential gains and drawdowns, acting as potential targets for taking profit or stopping losses. These include the 25th, 50th, 75th, 90th, and 100th percentiles, which are adjustable by scale. There are also plots for average gain and drawdown levels, enhanced by standard deviation curves if enabled.
The Supertrend line indicators are color-coded for ease of understanding: blue for bullish performance and orange for bearish performance. The "Center Line" represents the point at which traders might consider entering a position.
Lastly, the script presents a summary table (when enabled) at the right side of the chart displaying numeric data of the plotted targets. This data provides additional insights on the risk-reward balance for each percentile, helping traders to execute their strategies more effectively.
Here's a comprehensive breakdown of its functionalities and features:
Inputs:
Source: Determines the price series type (e.g., Close, Open, High, Low, etc.).
Show Trailing Stop: Option to display the trailing stop on the chart.
Levels: Sets the number of target levels you want to display. Can range from -5 to 5.
Scale: A scaling factor for adjusting targets, can be between 1 to 100.
Window Length: Length for the target computation, determines how many bars will be considered.
Unique: Ensures every data point used in calculations is unique.
Multiplier: Multiplier for the ATR (Average True Range) to compute the SuperTrend.
ATR Length: Period for the ATR computation.
Custom Level: Allows users to set their own levels using various statistics like Average, Average + STDEV, Percentile, or can be disabled.
Percent Rank: Determines the percentile rank for targeting.
Enable Table: Enables or disables a table display.
Methods:
Flag: Identifies bullish and bearish trend reversals.
Target Percent: Determines the expected price movement (both gains and drawdowns) based on historical trend reversals.
Value Percent: Computes the percentage difference between the current price and the entry price during trend reversals.
Plots:
Multiple target lines are plotted on the chart to visualize potential gain and drawdown levels. These levels are adjusted based on user settings. Additionally, the main Supertrend line is plotted to indicate the prevailing trend direction.
Gain Levels: Target levels which show potential upside from the current price.
Drawdown Levels: Target levels which represent potential downside from the current price.
SuperTrend Line: A line that adjusts based on price volatility and trend direction, acting as a dynamic support or resistance.
In conclusion, the "Supertrend Targets " indicator is a powerful tool that combines the principle of trend-following with dynamic targets, providing traders with insights into potential future price movements. The range of customization options allows traders to adapt the indicator to different trading strategies and market conditions.
Forex & Stock Daily WatchList And Screener [M]Hi, this is a watchlist and screener indicator for Forex and Stocks.
This indicator is designed for traders who trade in the forex markets and monitor developments in indices and other currency pairs.
It includes information on 14 indices such as the volatility index, Baltic dry index, etc. You can customize the indices as you wish. The indices table contains the index's price (or points), daily change, stochastic value, and trend direction.
The second table is designed for trading forex and stock currency pairs.
In this table, you will find information such as price, volume, change, stochastic, RSI, trend direction, and MACD result for all traded pairs. You can customize all the currency pairs in this table as you wish, and you can also tailor the oscillator settings to your preferences.
In the settings section, you can use checkboxes to hide the pairs in both tables.
The "Customize" section in the settings allows you to personalize the table appearances according to your preferences.
Philpose's Binary Turbo 1.2Hello there,
I'm thrilled to introduce my very first TradingView indicator - "Philpose's Binary Turbo 1.0." This indicator isn't just another tool; it's my unique take on binary options trading, powered by the Relative Strength Index (RSI).
Differences from Other Indicators:
This indicator is designed for traders who prefer short-term trading, as it uses a 1-minute timeframe.
It assumes that RSI crossovers of overbought and oversold levels can be used to generate binary options signals.
Users should backtest and evaluate the indicator's performance in different market conditions and consider risk management strategies.
Custom Logic: This indicator implements a custom trading logic based on RSI crossovers of overbought and oversold levels. Many indicators on TradingView use standard indicators, but this script incorporates unique logic.
Signal Tracking: It tracks and displays the last buy and sell signals on the chart. This visual representation can be helpful for traders to see when signals were generated.
Streak Tracking: The script keeps track of winning and losing streaks, which can provide traders with insights into their trading performance over time.
Table Summary: It creates a table summarizing various statistics related to the signals generated, such as total signals, wins, losses, and streaks. This tabular representation can be useful for traders to assess the indicator's performance.
How to Use:
To use this indicator effectively, follow these steps:
Add the Indicator: Copy and paste the script into TradingView's Pine Script editor. Then, apply the indicator to the chart.
Customize Parameters: Adjust the RSI parameters (period, overbought, and oversold levels) and the minimum bars between signals according to your trading strategy and preferences.
Interpret Signals: Buy signals are generated when the RSI crosses above the oversold level, and sell signals occur when it crosses below the overbought level.
Analyze Streaks: Keep an eye on the win and loss streaks to assess the indicator's performance and your trading strategy.
Review Table: The table at the top-right corner of the chart provides a summary of important statistics related to signals, wins, losses, and streaks.
Markets and Conditions:
The script can be used in various financial markets, including stocks, forex, commodities, and indices. However, it's important to note that binary options trading has a distinct risk profile and is available on certain platforms. Therefore, you should ensure that your chosen binary options platform supports TradingView indicators and that you understand the specific conditions of binary options trading.
Conditions for Use:
This indicator is designed for traders who prefer short-term trading, as it uses a 1-minute timeframe.
It assumes that RSI crossovers of overbought and oversold levels can be used to generate binary options signals.
Users should backtest and evaluate the indicator's performance in different market conditions and consider risk management strategies.
Please exercise caution when using any trading indicator or strategy, especially in binary options trading, as it involves a high level of risk, and you may lose your entire investment. It's advisable to thoroughly test any strategy on a demo account before trading with real funds and to seek the advice of a qualified financial advisor if you are unsure about your trading decisions.
HTF Oscillators RSI/ROC/MFI/CCI/AO - Dynamic SmoothingThe Interplay of Time Frames: A Balanced View
Navigating the markets often involves interpreting trends from multiple angles. The HTF Oscillators with Dynamic Smoothing indicator enables you to do just that. This tool provides the option to integrate smoothed oscillator readings from Higher Time Frames (HTF) into lower time frame charts, such as a 1-minute chart. By doing so, the indicator offers a balanced viewpoint that bridges the gap between micro and macro perspectives, helping you make informed decisions without losing sight of the broader market context.
Features
Multi-Oscillator Support
Choose from a range of popular oscillators like the Relative Strength Index (RSI), Rate of Change (ROC), Money Flow Index (MFI), Commodity Channel Index (CCI), and Awesome Oscillator (AO). These oscillators are commonly used as foundational building blocks in trading strategy scripts by traders worldwide. Switch effortlessly between them, depending on your trading strategy and requirements. To maintain consistency and a familiar user experience, our script adopts the same visual aesthetics that you'll find in Pine Script indicators on TradingView: a sleek purple line for the oscillator and a transparent band filling. These visual elements are not only pleasing to the eye but also widely appreciated by the trading community.
Dynamic Smoothing
The unique dynamic smoothing feature calculates a smoothing factor based on the ratio of minutes between the Higher Time Frame (HTF) and your current time frame. This provides a sleek and responsive oscillator line that still holds the weight of the longer trend. One of the significant advantages of this feature is user experience; when you change your time frame, the HTF-values in your settings will remain consistent. This ensures that you can easily switch between different time frames without losing the insights provided by your selected HTF.
Visual Aids
Visual cues are an essential part of any trading strategy. The indicator not only plots signals to mark overbought and oversold conditions based on the dynamically smoothed oscillator but also provides you with the flexibility to customize your visual experience. You have the option to toggle on/off the display of these signals depending on your specific needs. Additionally, bands can be displayed at overbought and oversold levels, along with a reference middle line. If you switch between different oscillators (available in the parameter settings), remember to manually adjust the bands in the input settings to ensure signals matches with the type of oscillator to your liking.
User-Friendly Settings
We've grouped related settings together, making it easier for you to find what you're looking for. Adjust the oscillator type, length of bars, smoothing settings, and more with just a few clicks.
Information Table
A standout feature of this indicator is the real-time information table, which displays the values of all selected oscillators based on your specified Higher Time Frame (HTF) settings. This can be particularly useful for traders who depend on multiple indicators for their decision-making process. The data presented in the table is synchronized with the HTF options you've configured in the input settings, allowing for a more efficient and quick scan of values from higher time frames.
Educational Corner: The Power of the Information Table and Customization
The table incorporated into this indicator isn't just eye-candy; it's a practical tool designed to elevate your trading strategy. It dynamically displays real-time values of various oscillators for the HTF you've chosen. This is an exemplary use of TradingView's scripting capabilities to blend multiple indicators into a single visual panel, streamlining your analysis and decision-making process.
But here's the best part: You're not limited to what we've created. With some basic understanding of TradingView's scripting language, Pine Script, you can easily adapt this table to include different indicators that suit your unique trading style. The logic in the script is modular and can serve as a foundation for your own customized trading dashboard. So, go ahead, get creative and explore new combinations of indicators that will help you excel in your trading endeavors!
You no longer have to toggle between different charts or indicators to get the information you need; it's all there in one neatly organized table. We encourage you to tap into this feature and make it your own, empowering your trading like never before.
By doing so, you not only gain a more comprehensive toolset, but you also engage more deeply with your trading strategy, understanding its nuances and, ultimately, making more informed decisions.
Conclusion
The HTF Oscillators with Dynamic Smoothing is a versatile and powerful tool that brings together the best of both worlds: the perspective of higher time frames and the granularity of shorter ones. Its feature-rich setting options and real-time information table make it a potential useful addition to your trading toolkit.
Remember, while this indicator offers a comprehensive and smarter way to look at the markets, it is not a foolproof method for predicting market movements. Always use it in conjunction with other analysis methods and risk management strategies.
Statistics: High & Low timings of custom session; 1yr historyGet statistics of the Session High and Session Low timings for any custom session; based on around 1yr of data.
//Purpose:
-To get data on the 'time of day' tendencies of an asset.
-Narrow in on a custom defined session and get statistics on that session.
//Notes:
-Input times are always in New York time (but changing the timezone after setting WILL adust both table stats and background highlight correctly.
-For particularly long sessions, make sure text size is set to 'tiny' (very long vertical table), or adjust table to display horizontally.
-You'll notice most assets show higher readings around NY equities open (9:30am NY time). Other assets will have 'hot-spots' at other times too.
-Timings represent the beginning of a 15m candle. i.e. reading for 15:45 represents a high occurring between 15:45 and 1600.
-Premium users should get 20k bars => around 1year's worth of data on a 15minute chart. Days of history is displayed in the top left corner of the table.
//Limitations
-only designed and working on 15minute timeframe (to gather a full year of meaningful/comparable % stats, need 15minute 'buckets' of time.
-sessions cannot cross through midnight, or start at midnight (00:15 is ok). 00:15 >> 23:45 is the max session length. On BTC, same applies but 01:00 instead of midnight (all in NY time).
-if your session crosses through 'dead time' (e.g. 17:00-18:00 S&P NY time); table will correctly omit these non-existent candles, but it will add on the missing hour before the start time.
//Cautionary note:
-Since markets are not uncommonly in a trending state when your defined session starts or ends, the high/low timings % readings for start and end of session may be misleadingly high. Try to look for unusually high readings that are not at the start/end of your session.
Wheat (ZW1!) 15min chart; Table displayed vertically:
Nasdaq (NQ1!) 15m chart; Table displayed horizontally and with smaller text to view a very long custom session:
Peer Performance - NIFTY36STOCKSI have created a peer performance dashboard for:
36 stocks from:
5 sectors of Nifty 100
This kind of dashboard is very useful for traders when they are planing to trade in a stocks and like to see how that is stocks is performing against other stocks in the same sector . Picking outperforming stocks will always give outstanding results when market starts moving. os having view on teh complete sector will always be good for traders before picking a specific stock.
Sectors covered in this indicators are:
Indian Auto Sector
Banking Sector
Oil, Gas and Energy Stocks
Cement Sector
Technology Sector
It will help traders reviewing performance ( stock return in last 1 year) of group of stocks from a particular sector .
Basically 5 functions are used to plot this dashboard
using "if " function to shortlist the stocks and the sector it belongs to.
tablo function to plot a table with specific parameters like number of row and columns, color of the frame of table
Getting yearly return into a series of variables using "request.security" function
str.tostring function is used to convert yearly return into a series of text so that it can inserted into the table cell.
finally plotting all the text and yearly return values using table.cell function
MLExtensionsLibrary "MLExtensions"
normalizeDeriv(src, quadraticMeanLength)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the first-order derivative for price).
quadraticMeanLength : The length of the quadratic mean (RMS).
Returns: nDeriv The normalized derivative of the input series.
normalize(src, min, max)
Rescales a source value with an unbounded range to a target range.
Parameters:
src : The input series
min : The minimum value of the unbounded range
max : The maximum value of the unbounded range
Returns: The normalized series
rescale(src, oldMin, oldMax, newMin, newMax)
Rescales a source value with a bounded range to anther bounded range
Parameters:
src : The input series
oldMin : The minimum value of the range to rescale from
oldMax : The maximum value of the range to rescale from
newMin : The minimum value of the range to rescale to
newMax : The maximum value of the range to rescale to
Returns: The rescaled series
color_green(prediction)
Assigns varying shades of the color green based on the KNN classification
Parameters:
prediction : Value (int|float) of the prediction
Returns: color
color_red(prediction)
Assigns varying shades of the color red based on the KNN classification
Parameters:
prediction : Value of the prediction
Returns: color
tanh(src)
Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
Parameters:
src : The input series (i.e., the normalized derivative).
Returns: tanh The hyperbolic tangent of the input series.
dualPoleFilter(src, lookback)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src : The input series (i.e., the hyperbolic tangent).
lookback : The lookback window for the smoothing.
Returns: filter The smoothed hyperbolic tangent of the input series.
tanhTransform(src, smoothingFrequency, quadraticMeanLength)
Returns the tanh transform of the input series.
Parameters:
src : The input series (i.e., the result of the tanh calculation).
smoothingFrequency
quadraticMeanLength
Returns: signal The smoothed hyperbolic tangent transform of the input series.
n_rsi(src, n1, n2)
Returns the normalized RSI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the RSI calculation).
n1 : The length of the RSI.
n2 : The smoothing length of the RSI.
Returns: signal The normalized RSI.
n_cci(src, n1, n2)
Returns the normalized CCI ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the CCI calculation).
n1 : The length of the CCI.
n2 : The smoothing length of the CCI.
Returns: signal The normalized CCI.
n_wt(src, n1, n2)
Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
Parameters:
src : The input series (i.e., the result of the WaveTrend Classic calculation).
n1
n2
Returns: signal The normalized WaveTrend Classic series.
n_adx(highSrc, lowSrc, closeSrc, n1)
Returns the normalized ADX ideal for use in ML algorithms.
Parameters:
highSrc : The input series for the high price.
lowSrc : The input series for the low price.
closeSrc : The input series for the close price.
n1 : The length of the ADX.
regime_filter(src, threshold, useRegimeFilter)
Parameters:
src
threshold
useRegimeFilter
filter_adx(src, length, adxThreshold, useAdxFilter)
filter_adx
Parameters:
src : The source series.
length : The length of the ADX.
adxThreshold : The ADX threshold.
useAdxFilter : Whether to use the ADX filter.
Returns: The ADX.
filter_volatility(minLength, maxLength, useVolatilityFilter)
filter_volatility
Parameters:
minLength : The minimum length of the ATR.
maxLength : The maximum length of the ATR.
useVolatilityFilter : Whether to use the volatility filter.
Returns: Boolean indicating whether or not to let the signal pass through the filter.
backtest(high, low, open, startLongTrade, endLongTrade, startShortTrade, endShortTrade, isStopLossHit, maxBarsBackIndex, thisBarIndex)
Performs a basic backtest using the specified parameters and conditions.
Parameters:
high : The input series for the high price.
low : The input series for the low price.
open : The input series for the open price.
startLongTrade : The series of conditions that indicate the start of a long trade.`
endLongTrade : The series of conditions that indicate the end of a long trade.
startShortTrade : The series of conditions that indicate the start of a short trade.
endShortTrade : The series of conditions that indicate the end of a short trade.
isStopLossHit : The stop loss hit indicator.
maxBarsBackIndex : The maximum number of bars to go back in the backtest.
thisBarIndex : The current bar index.
Returns: A tuple containing backtest values
init_table()
init_table()
Returns: tbl The backtest results.
update_table(tbl, tradeStatsHeader, totalTrades, totalWins, totalLosses, winLossRatio, winrate, stopLosses)
update_table(tbl, tradeStats)
Parameters:
tbl : The backtest results table.
tradeStatsHeader : The trade stats header.
totalTrades : The total number of trades.
totalWins : The total number of wins.
totalLosses : The total number of losses.
winLossRatio : The win loss ratio.
winrate : The winrate.
stopLosses : The total number of stop losses.
Returns: Updated backtest results table.
Volatilidad Multi-TF📊 Multi-Timeframe Volatility (ATR%)
Description
Indicator that displays the current asset's volatility across multiple timeframes simultaneously. It uses the ATR (Average True Range) normalized as a percentage of price, allowing for objective volatility comparison across different timeframes.
✨ Key Features
- Multi-Timeframe Analysis: Visualize volatility across 5 different timeframes (1H, 4H, D, W, M)
- Normalized Volatility: ATR expressed as a percentage of price for accurate comparison
- Compact Table: Clean and easy-to-read interface in the corner of your chart
- Auto-Update: Automatically adapts to the asset you're viewing
- No Additional Plots: Only displays essential information in table format
🎯 How to Use
1. Add the indicator to your chart
2. The table will automatically display the current asset's volatility
3. Percentage values allow you to quickly identify:
- Which timeframe has higher/lower volatility
- Divergences between timeframes
- High or low volatility zones to adjust your strategies
⚙️ Configurable Parameters
- ATR Period: Default 14, adjust according to your strategy
📈 Practical Applications
- Risk Management: Adjust position sizing based on current volatility
- Asset Selection: Identify assets with suitable volatility for your profile
- Entry Timing: Detect volatility expansions/contractions
- Timeframe Analysis: Compare volatility across different time periods
💡 Technical Notes
- Normalized ATR allows volatility comparison between assets with different prices
- Useful for both intraday trading (1H, 4H) and swing/positional trading (D, W, M)
- Compatible with any market: cryptocurrencies, forex, stocks, indices
⚠️ Disclaimer
This indicator is a technical analysis tool. It does not constitute financial advice. Conduct your own analysis and risk management before trading.
RTACoreLibrary "RTACore"
Advanced multi-timeframe technical analysis framework for Pine Script
@author WavesUnchained
@build 2025-10-14 22:41:47
newFloatResult(value, context)
Create a successful Result with float value
Parameters:
value (float)
context (string)
newStringResult(value, context)
Create a successful Result with string value
Parameters:
value (string)
context (string)
newBoolResult(value, context)
Create a successful Result with boolean value
Parameters:
value (bool)
context (string)
newErrorResult(errorCode, errorMessage, floatFallback, stringFallback, boolFallback, context)
Create an error Result with fallback values
Parameters:
errorCode (string)
errorMessage (string)
floatFallback (float)
stringFallback (string)
boolFallback (bool)
context (string)
addResultTag(result, tag)
Add a tag to Result
Parameters:
result (Result)
tag (string)
newSignalResult(signalStrength, signalType)
Create a signal Result with trading-specific tags
Parameters:
signalStrength (float)
signalType (string)
newIndicatorResult(value, indicatorName)
Create an indicator calculation Result with indicator tag
Parameters:
value (float)
indicatorName (string)
newTimeframeResult(value, timeframe, context)
Create a timeframe-specific Result
Parameters:
value (float)
timeframe (string)
context (string)
newConfluenceResult(confluenceScore, confidenceLevel)
Create a confluence Result with confidence level
Parameters:
confluenceScore (float)
confidenceLevel (string)
newValidationResult(context)
Create a new validation result (starts as valid)
Parameters:
context (string)
newValidationSuccess(context)
Create a successful validation result
Parameters:
context (string)
newValidationFailure(errors, context)
Create a failed validation result with errors
Parameters:
errors (array)
context (string)
addValidationError(result, field, error)
Add an error to validation result
Parameters:
result (ValidationResult)
field (string)
error (string)
addValidationWarning(result, field, warning)
Add a warning to validation result
Parameters:
result (ValidationResult)
field (string)
warning (string)
addValidationCorrection(result, correction)
Add a correction to validation result
Parameters:
result (ValidationResult)
correction (string)
setValidationMode(result, mode)
Set validation mode
Parameters:
result (ValidationResult)
mode (string)
getValidationMode(result)
Get validation mode
Parameters:
result (ValidationResult)
incrementValidatedFields(result)
Increment validated fields counter
Parameters:
result (ValidationResult)
setValidationTotalFields(result, total)
Set total fields for validation
Parameters:
result (ValidationResult)
total (int)
calculateValidationScore(result)
Calculate and update validation score based on errors/warnings
Parameters:
result (ValidationResult)
newPerformanceProfile(functionName)
Create a new performance profile
Parameters:
functionName (string)
startTiming(profile)
Start timing a performance profile (simple)
Parameters:
profile (PerformanceProfile)
endTiming(profile, hadError)
End timing and update performance profile
Parameters:
profile (PerformanceProfile)
hadError (bool)
updateMemoryEstimate(profile, arrayElements)
Set estimated memory usage (array elements)
Parameters:
profile (PerformanceProfile)
arrayElements (int)
newHealthyStatus()
Create a new healthy status
setComponentHealth(status, component, isOK, message)
Set component health status
Parameters:
status (HealthStatus)
component (string)
isOK (bool)
message (string)
isHealthyOverall(status)
Quick health check - are all components OK?
Parameters:
status (HealthStatus)
getHealthSummary(status)
Get simple health summary
Parameters:
status (HealthStatus)
hasValidFloat(result)
Check if Result contains a valid float value
Parameters:
result (Result)
hasValidString(result)
Check if Result contains a valid string value
Parameters:
result (Result)
getFloat(result, fallback)
Get float value from Result with fallback
Parameters:
result (Result)
fallback (float)
getString(result, fallback)
Get string value from Result with fallback
Parameters:
result (Result)
fallback (string)
getBool(result, fallback)
Get boolean value from Result with fallback
Parameters:
result (Result)
fallback (bool)
hasResultTag(result, tag)
Check if Result has specific tag
Parameters:
result (Result)
tag (string)
getResultTags(result)
Get all tags from Result
Parameters:
result (Result)
setResultContext(result, context)
Set operation context for Result
Parameters:
result (Result)
context (string)
filterResultsByTag(results, tag)
Filter Results by tag (utility for arrays of Results)
Parameters:
results (array)
tag (string)
getAllResultTags(results)
Get all unique tags from array of Results
Parameters:
results (array)
newDefaultAnalysisConfig()
Create default analysis configuration
newAggressiveAnalysisConfig()
Create aggressive trading configuration
newConservativeAnalysisConfig()
Create conservative trading configuration
newDefaultTimeframeConfig()
Create default timeframe configuration
newIntradayTimeframeConfig()
Create intraday timeframe configuration
newSwingTimeframeConfig()
Create swing trading timeframe configuration
getConfigSummary(config)
Get configuration summary string
Parameters:
config (AnalysisConfig)
cloneAnalysisConfig(source)
Clone analysis configuration
Parameters:
source (AnalysisConfig)
newGenericAnalysis(analysisType, timeframe)
Create a new generic analysis result
Parameters:
analysisType (string)
timeframe (string)
newConsensusData()
Create empty consensus data
newNeutralSignal(reason)
Create a neutral signal result
Parameters:
reason (string)
newBuySignal(score, confidence, reason)
Create a buy signal result
Parameters:
score (float)
confidence (float)
reason (string)
newSellSignal(score, confidence, reason)
Create a sell signal result
Parameters:
score (float)
confidence (float)
reason (string)
newMultiTimeframeResult(config, tfConfig)
Create new multi-timeframe result
Parameters:
config (AnalysisConfig)
tfConfig (TimeframeConfig)
getAnalysisAction(analysis)
Get analysis action string
Parameters:
analysis (GenericAnalysis)
isBullish(analysis)
Check if analysis is bullish
Parameters:
analysis (GenericAnalysis)
isBearish(analysis)
Check if analysis is bearish
Parameters:
analysis (GenericAnalysis)
getSignalSummary(signal)
Get signal summary string
Parameters:
signal (SignalResult)
hasStrongConsensus(consensus)
Check if consensus is strong
Parameters:
consensus (ConsensusData)
getConsensusSummary(consensus)
Get consensus summary
Parameters:
consensus (ConsensusData)
isActionableSignal(signal)
Check if signal is actionable
Parameters:
signal (SignalResult)
getSignalColor(signal)
Get signal color for UI display
Parameters:
signal (SignalResult)
validateAnalysisConfig(config)
Validate analysis configuration
Parameters:
config (AnalysisConfig)
validateTimeframeConfig(config)
Validate timeframe configuration
Parameters:
config (TimeframeConfig)
validatePriceData(prices)
Validate price data array
Parameters:
prices (array)
sanitizeFloat(value, minVal, maxVal, defaultVal)
Sanitize numeric input
Parameters:
value (float)
minVal (float)
maxVal (float)
defaultVal (float)
sanitizeInt(value, minVal, maxVal, defaultVal)
Sanitize integer input
Parameters:
value (int)
minVal (int)
maxVal (int)
defaultVal (int)
sanitizeFloatArray(arr)
Sanitize array by removing invalid values
Parameters:
arr (array)
logError(message)
Log error message
Parameters:
message (string)
logWarning(message)
Log warning message
Parameters:
message (string)
safeExecute(operationName, condition)
Safe execute wrapper
Parameters:
operationName (string)
condition (bool)
shouldAllowOperation(errorCount, maxErrors)
Circuit breaker pattern
Parameters:
errorCount (int)
maxErrors (int)
retryOperation(maxRetries)
Retry mechanism
Parameters:
maxRetries (int)
atrDistance(value1, value2, atr)
Calculate ATR-normalized distance between two values
Parameters:
value1 (float)
value2 (float)
atr (float)
atrDistance(value, reference, atrLength)
Calculate ATR-normalized distance between values
Parameters:
value (float)
reference (float)
atrLength (simple int)
percentDistance(value1, value2)
Calculate percentage-based distance between two values
Parameters:
value1 (float)
value2 (float)
withinATRTolerance(value, reference, atr, multiplier)
Check if value is within ATR-based tolerance of reference
Parameters:
value (float)
reference (float)
atr (float)
multiplier (float)
withinATRTolerance(value, reference, multiplier)
Check if value is within ATR-based tolerance of reference
Parameters:
value (float)
reference (float)
multiplier (float)
withinPercentTolerance(value, reference, percentTolerance)
Check if value is within percentage tolerance of reference
Parameters:
value (float)
reference (float)
percentTolerance (float)
proximityScore(value, reference, maxDistance)
Get proximity score (0-1, where 1 = very close)
Parameters:
value (float)
reference (float)
maxDistance (float)
sortArrayByValue(values, sortOrder)
Efficient array sorting using Pine Script native sort
Note: Replaces inefficient bubble sort implementations found in modules
Parameters:
values (array)
sortOrder (string)
safeArrayAverage(values)
Safe array average with null handling
Parameters:
values (array)
formatTableHeader(title, width)
Create formatted header for display tables
Parameters:
title (string)
width (int)
formatTableRow(key, value, width)
Format table row with key-value pair
Parameters:
key (string)
value (string)
width (int)
formatTableFooter(width)
Close table formatting
Parameters:
width (int)
truncateText(txt, maxLength, suffix)
Truncate text to specified length
Parameters:
txt (string)
maxLength (int)
suffix (string)
padText(txt, width, padChar, align)
Pad text to specified width
Parameters:
txt (string)
width (int)
padChar (string)
align (string)
titleCase(txt)
Convert text to title case
Parameters:
txt (string)
joinStrings(strings, separator)
Join array of strings with separator
Parameters:
strings (array)
separator (string)
formatTimestamp(timestamp, format)
Format timestamp to readable date/time
Parameters:
timestamp (int)
format (string)
evictLRU(cache)
Evict least recently used entry
Parameters:
cache (CacheManager)
newRiskAssessment()
Create a default risk assessment
calculateRiskAssessment(signal, volatility, volumeLevel)
Calculate comprehensive risk assessment
Parameters:
signal (SignalResult)
volatility (float)
volumeLevel (float)
newPositionData()
Create new empty position data
getConservativeStrategy()
Create conservative strategy template
getAggressiveStrategy()
Create aggressive strategy template
newDefaultStrategy()
Create default balanced strategy template
getStandardATR()
Get standard ATR(14) - cached per bar
getATR(length)
Get custom ATR with specified length
Parameters:
length (simple int)
getATRTolerance(multiplier)
Get ATR-based tolerance for distance calculations
Parameters:
multiplier (float)
getStandardVolumeAverage()
Get standard volume average SMA(20) - cached per bar
getVolumeAverage(length)
Get custom volume average
Parameters:
length (int)
getVolumeRatio()
Get volume ratio (current vs average)
getVolumeConfirmation(threshold)
Get volume confirmation (above threshold)
Parameters:
threshold (float)
getStandardEMAs()
Get standard EMAs (21, 50, 200) - cached per bar
getEMA21()
Get individual standard EMAs
getEMA50()
getEMA200()
getEMATrendAlignment()
Get EMA trend alignment score
getStandardRSI()
Get standard RSI(14) - cached per bar
getRSILevels(overbought, oversold)
Get RSI with overbought/oversold levels
Parameters:
overbought (float)
oversold (float)
getStandardMACD()
Get standard MACD (12, 26, 9) - cached per bar
getMACDSignal()
Get MACD trend signal
getMomentumScore()
Get comprehensive momentum score
getTrendStrength()
Get trend strength (0-100)
getIndicatorSummary()
Get indicator calculation summary (for debugging)
newZoneDetectionConfig()
Create default zone configuration
newZoneDetection(upperBoundary, lowerBoundary, creationBar, zoneType)
Create new zone
Parameters:
upperBoundary (float)
lowerBoundary (float)
creationBar (int)
zoneType (string)
calculateZoneOverlap(zone1Upper, zone1Lower, zone2Upper, zone2Lower)
Calculate zone overlap ratio
Parameters:
zone1Upper (float)
zone1Lower (float)
zone2Upper (float)
zone2Lower (float)
isPriceTouchingZone(zone, currentPrice, touchTolerance)
Check if price is touching zone
Parameters:
zone (ZoneDetection)
currentPrice (float)
touchTolerance (float)
getZonesInRange(zones, minPrice, maxPrice)
Get zones within price range
Parameters:
zones (array)
minPrice (float)
maxPrice (float)
getNearestZones(zones, currentPrice)
Get nearest support and resistance zones
Parameters:
zones (array)
currentPrice (float)
processZoneDetection(zones, config)
Complete zone detection and management system
Parameters:
zones (array)
config (ZoneDetectionConfig)
processZoneDetectionEngine(zones, config)
Parameters:
zones (array)
config (ZoneDetectionConfig)
newChannelConfig()
calcKeltnerChannel(config)
Parameters:
config (ChannelConfig)
checkKeltnerTouch(upper, lower)
Parameters:
upper (float)
lower (float)
getKeltnerDepth(basis, upper, lower)
Parameters:
basis (float)
upper (float)
lower (float)
checkKeltnerBreakout(upper, lower)
Parameters:
upper (float)
lower (float)
calcDonchianChannel(config)
Parameters:
config (ChannelConfig)
checkDonchianTouch(upper, lower)
Parameters:
upper (float)
lower (float)
checkDonchianReentry(upper, lower)
Parameters:
upper (float)
lower (float)
getDonchianWidth(upper, lower)
Parameters:
upper (float)
lower (float)
calcBollingerBands(config)
Parameters:
config (ChannelConfig)
calcSqueezeRatio(bbStdev, kcMultiplier, kcAtr)
Parameters:
bbStdev (float)
kcMultiplier (float)
kcAtr (float)
detectSqueezeState(squeezeRatio)
Parameters:
squeezeRatio (float)
detectSqueezeBreak(squeezeRatio, kcUpper, kcLower)
Parameters:
squeezeRatio (float)
kcUpper (float)
kcLower (float)
getSqueezeIntensity(squeezeRatio)
Parameters:
squeezeRatio (float)
processChannelDetection(config)
Parameters:
config (ChannelConfig)
detectChannelSignals(state)
Parameters:
state (ChannelState)
detectQualityZones(state)
Parameters:
state (ChannelState)
getChannelSignalText(state)
Parameters:
state (ChannelState)
analyzeChannelTrend(state)
Parameters:
state (ChannelState)
getChannelConfluence(state)
Parameters:
state (ChannelState)
newVwapConfig()
newVwapAnchors()
calcSessionVwap()
getPreviousSessionVwap(sessionVwap)
Parameters:
sessionVwap (float)
updateVwapAnchors(anchors, config)
Parameters:
anchors (VwapAnchors)
config (VwapConfig)
calcAnchoredVwap(anchors, isHigh)
Parameters:
anchors (VwapAnchors)
isHigh (bool)
detectPriceCrosses(sessionVwap)
Parameters:
sessionVwap (float)
detectStructureCrosses(sessionVwap, anchoredHigh, anchoredLow)
Parameters:
sessionVwap (float)
anchoredHigh (float)
anchoredLow (float)
detectVwapCluster(sessionVwap, anchoredHigh, anchoredLow, config)
Parameters:
sessionVwap (float)
anchoredHigh (float)
anchoredLow (float)
config (VwapConfig)
canShowSignal(anchors, config, signalType)
Parameters:
anchors (VwapAnchors)
config (VwapConfig)
signalType (string)
updateSignalThrottle(anchors, signalType)
Parameters:
anchors (VwapAnchors)
signalType (string)
calcCrossStrength(sessionVwap, isPriceCross)
Parameters:
sessionVwap (float)
isPriceCross (bool)
calcClusterStrength(vwapsInCluster, priceInCluster, tolerance)
Parameters:
vwapsInCluster (bool)
priceInCluster (bool)
tolerance (float)
calcStructureStrength(sessionVwap, anchoredHigh, anchoredLow)
Parameters:
sessionVwap (float)
anchoredHigh (float)
anchoredLow (float)
analyzeVwapTrend(sessionVwap)
Parameters:
sessionVwap (float)
processVwapDetection(anchors, config)
Parameters:
anchors (VwapAnchors)
config (VwapConfig)
generateVwapSignals(state)
Parameters:
state (VwapState)
getVwapBias(state)
Parameters:
state (VwapState)
getVwapConfluence(state)
Parameters:
state (VwapState)
newZoneConfig()
newZoneState()
stringToFloats(s)
Parameters:
s (string)
calculateBias(config)
Parameters:
config (ZoneConfig)
createZone(top, bottom, isBull, isHTF)
Parameters:
top (float)
bottom (float)
isBull (bool)
isHTF (bool)
updateZoneStatus(zone)
Parameters:
zone (Zone)
detectFVGOverlap(zone)
Parameters:
zone (Zone)
scoreZone(zone, config)
Parameters:
zone (Zone)
config (ZoneConfig)
sortAndTrimZones(zones, config)
Parameters:
zones (array)
config (ZoneConfig)
adjustZoneVisibility(zones, config)
Parameters:
zones (array)
config (ZoneConfig)
calculateTargetsATR(base, stepsString, atrLength)
Parameters:
base (float)
stepsString (string)
atrLength (simple int)
calculateTargetsSigma(base, stepsString, sigmaLength)
Parameters:
base (float)
stepsString (string)
sigmaLength (int)
calculateTargetsLiquidity(isLong, config)
Parameters:
isLong (bool)
config (ZoneConfig)
detectZoneSignals(zones, bias, config)
Parameters:
zones (array)
bias (int)
config (ZoneConfig)
processZoneManagement(state, config)
Parameters:
state (ZoneState)
config (ZoneConfig)
findNearestZones(state)
Parameters:
state (ZoneState)
newVolumeConfig()
newVolumeState()
getPriceSource(config)
Parameters:
config (VolumeConfig)
isInSession(config)
Parameters:
config (VolumeConfig)
isNewSession(config)
Parameters:
config (VolumeConfig)
calculateWindow(config)
Parameters:
config (VolumeConfig)
calculateProfile(config, windowStart, windowLength)
Parameters:
config (VolumeConfig)
windowStart (int)
windowLength (int)
detectVolumeNodes(binVolumes, binPrices, totalVolume)
Parameters:
binVolumes (array)
binPrices (array)
totalVolume (float)
calculateVolumeChoppiness(config)
Calculate choppiness index for volume profile
Parameters:
config (VolumeConfig)
detectMarketRegime(state, config)
Detect market regime based on multiple factors
Parameters:
state (VolumeState)
config (VolumeConfig)
calculateAdaptiveParameters(state, config)
Calculate adaptive volume profile parameters
Parameters:
state (VolumeState)
config (VolumeConfig)
updateMarketConditions(state, config)
Update volume state with market conditions
Parameters:
state (VolumeState)
config (VolumeConfig)
applyAdaptiveConfig(config, state)
Apply adaptive parameters to profile calculation
Parameters:
config (VolumeConfig)
state (VolumeState)
getHTFPivots(config)
Parameters:
config (VolumeConfig)
checkPivotConfluence(price, config, pivotHigh1, pivotLow1, pivotHigh2, pivotLow2)
Parameters:
price (float)
config (VolumeConfig)
pivotHigh1 (float)
pivotLow1 (float)
pivotHigh2 (float)
pivotLow2 (float)
calculateMOST()
Calculate MOST (Moving Stop) indicator
calculateTrendFilters(config)
Parameters:
config (VolumeConfig)
findNearestNodes(hvnNodes, lvnNodes)
Parameters:
hvnNodes (array)
lvnNodes (array)
detectVolumeSignals(config, profile, trendBullish, htfConfluence)
Parameters:
config (VolumeConfig)
profile (VolumeProfile)
trendBullish (bool)
htfConfluence (bool)
calculateVolumeScore(profile, trendBullish)
Parameters:
profile (VolumeProfile)
trendBullish (bool)
processVolumeProfile(state, config)
Parameters:
state (VolumeState)
config (VolumeConfig)
newHTFConfig()
newHTFStackState()
getOptimalTimeframes(chartTF)
Parameters:
chartTF (string)
calculateChoppiness(length)
Parameters:
length (int)
detectTrendEMA(length, threshold)
Parameters:
length (simple int)
threshold (float)
detectTrendSupertrend(atrLength, multiplier)
Parameters:
atrLength (simple int)
multiplier (float)
detectTrendMOST(length, multiplier)
Parameters:
length (simple int)
multiplier (float)
analyzeTrendForTF(tf, config)
Parameters:
tf (string)
config (HTFConfig)
calculateStackConfluence(tfData, config)
Parameters:
tfData (array)
config (HTFConfig)
calculateAutoTuningParams(choppiness, stackStrength, config)
Parameters:
choppiness (float)
stackStrength (float)
config (HTFConfig)
detectStackSignals(state, prevState, config)
Parameters:
state (HTFStackState)
prevState (HTFStackState)
config (HTFConfig)
createStackPanel(state, config)
Parameters:
state (HTFStackState)
config (HTFConfig)
processHTFStack(state, config)
Parameters:
state (HTFStackState)
config (HTFConfig)
processHTFStackSignals(state, prevState, config)
Parameters:
state (HTFStackState)
prevState (HTFStackState)
config (HTFConfig)
newRedefiningTechnicalAnalysisCore(analysisConfig, timeframeConfig, strategy)
Initialize RedefiningTechnicalAnalysis Core Library
Note: This function requires valid config objects to be passed in
The configuration module must be used directly to create default configs
Parameters:
analysisConfig (AnalysisConfig)
timeframeConfig (TimeframeConfig)
strategy (StrategyTemplate)
performAnalysis(core, prices, volumes, timestamps)
Perform complete multi-timeframe analysis
Parameters:
core (RedefiningTechnicalAnalysisCore)
prices (array)
volumes (array)
timestamps (array)
generateSignal(core, analysisResult)
Generate trading signal from analysis results
Parameters:
core (RedefiningTechnicalAnalysisCore)
analysisResult (MultiTimeframeResult)
assessRisk(core, signal)
Assess risk for trading decision
Parameters:
core (RedefiningTechnicalAnalysisCore)
signal (SignalResult)
executeFullWorkflow(core)
Execute complete analysis workflow
Parameters:
core (RedefiningTechnicalAnalysisCore)
updateAnalysisConfig(core, newConfig)
Update analysis configuration
Parameters:
core (RedefiningTechnicalAnalysisCore)
newConfig (AnalysisConfig)
updateStrategy(core, newStrategy)
Update strategy template
Parameters:
core (RedefiningTechnicalAnalysisCore)
newStrategy (StrategyTemplate)
checkSystemHealth(core)
Perform system health check
Parameters:
core (RedefiningTechnicalAnalysisCore)
generateStatusReport(core)
Generate comprehensive status report
Parameters:
core (RedefiningTechnicalAnalysisCore)
enableDebugMode(core, enabled)
Enable debug mode
Parameters:
core (RedefiningTechnicalAnalysisCore)
enabled (bool)
setFeatureFlag(core, flag, enabled)
Set feature flag
Parameters:
core (RedefiningTechnicalAnalysisCore)
flag (string)
enabled (bool)
getFeatureFlag(core, flag, defaultValue)
Get feature flag
Parameters:
core (RedefiningTechnicalAnalysisCore)
flag (string)
defaultValue (bool)
resetLibraryState(core)
Reset library state
Parameters:
core (RedefiningTechnicalAnalysisCore)
getLibraryInfo()
Get library version information
quickAnalysis(config, tfConfig, strategy)
Quick analysis - simplified entry point
Parameters:
config (AnalysisConfig)
tfConfig (TimeframeConfig)
strategy (StrategyTemplate)
getQuickStatus(core)
Get quick status string
Parameters:
core (RedefiningTechnicalAnalysisCore)
Result
Generic Result type for safe operations with error handling and fallbacks
Fields:
floatValue (series float)
stringValue (series string)
boolValue (series bool)
intValue (series int)
isSuccess (series bool)
errorCode (series string)
errorMessage (series string)
floatFallback (series float)
stringFallback (series string)
boolFallback (series bool)
intFallback (series int)
operationContext (series string)
timestamp (series int)
tags (array)
ValidationResult
Comprehensive validation result with errors, warnings, and corrections
Fields:
isValid (series bool)
errors (array)
warnings (array)
corrections (array)
suggestions (array)
validationScore (series float)
validationMode (series string)
validatedFields (series int)
totalFields (series int)
validationContext (series string)
validationTime (series int)
PerformanceProfile
Simplified performance profiling for Pine Script limitations
Fields:
executionTimeMs (series float)
averageExecutionMs (series float)
executionCount (series int)
errorCount (series int)
cacheHits (series int)
cacheMisses (series int)
cacheHitRatio (series float)
estimatedArrayElements (series int)
hasHeavyCalculation (series bool)
lastOptimizationHint (series string)
performanceGrade (series string)
performanceScore (series float)
functionName (series string)
profileStartTime (series int)
HealthStatus
Simplified health status for Pine Script limitations
Fields:
isHealthy (series bool)
healthScore (series float)
healthGrade (series string)
issues (array)
warnings (array)
recommendations (array)
dataValidationOK (series bool)
calculationsOK (series bool)
memoryUsageOK (series bool)
errorCountSession (series int)
warningCountSession (series int)
lastHealthCheck (series int)
healthCheckVersion (series string)
AnalysisConfig
Comprehensive analysis configuration with factor weights, thresholds, and extensible options
Fields:
activeFactors (array)
factorWeights (map)
thresholds (map)
features (map)
tradingMode (series string)
consensusMode (series string)
riskProfile (series string)
minConfidence (series float)
signalStrength (series float)
requireConsensus (series bool)
minConsensusCount (series int)
parameters (map)
options (map)
flags (map)
configName (series string)
version (series string)
description (series string)
createdTime (series int)
lastModified (series int)
validation (ValidationResult)
TimeframeConfig
Multi-timeframe configuration with weights and adjustments
Fields:
timeframes (array)
weights (array)
autoDetectChartTF (series bool)
includeHigherTFs (series bool)
tfAdjustments (map)
tfSensitivity (map)
tfFeatures (map)
minTimeframes (series int)
consensusThreshold (series float)
consensusMethod (series string)
normalizeWeights (series bool)
adaptiveBias (series bool)
higherTFBias (series float)
tfConfigName (series string)
configTimestamp (series int)
validation (ValidationResult)
GenericAnalysis
Generic analysis result that all specific analysis types extend
Fields:
totalScore (series float)
confidence (series float)
action (series string)
strength (series string)
riskLevel (series string)
factorScores (map)
factorWeights (map)
factorSignals (map)
factorReasons (map)
analysisType (series string)
timeframeAnalyzed (series string)
analysisTimestamp (series int)
marketCondition (series string)
dataQuality (series float)
performance (PerformanceProfile)
validation (ValidationResult)
numericData (map)
textData (map)
flags (map)
ConsensusData
Multi-timeframe consensus analysis data
Fields:
agreementCount (series int)
totalTimeframes (series int)
agreementPercentage (series float)
hasStrongConsensus (series bool)
hasMajorityConsensus (series bool)
agreeingTimeframes (array)
disagreeingTimeframes (array)
tfScores (map)
tfActions (map)
consensusMode (series string)
consensusScore (series float)
consensusAction (series string)
consensusStrength (series string)
tfWeights (map)
weightedConsensus (series bool)
weightedScore (series float)
consensusQuality (series float)
consensusReliability (series string)
consensusWarnings (array)
SignalResult
Comprehensive trading signal result
Fields:
strongBuy (series bool)
buy (series bool)
neutral (series bool)
sell (series bool)
strongSell (series bool)
overallScore (series float)
confidence (series float)
primaryAction (series string)
signalStrength (series string)
signalReason (series string)
contributingFactors (array)
factorContributions (map)
triggerCondition (series string)
consensus (ConsensusData)
consensusLevel (series string)
hasConsensus (series bool)
riskLevel (series string)
riskRewardRatio (series float)
successProbability (series float)
signalTimestamp (series int)
urgency (series string)
validityPeriod (series int)
marketPhase (series string)
warningFlags (array)
metadata (map)
MultiTimeframeResult
Multi-timeframe analysis result container
Fields:
primaryAnalysis (GenericAnalysis)
tfResults (map)
consensus (ConsensusData)
aggregatedScore (series float)
confidenceScore (series float)
dominantAction (series string)
consensusStrength (series string)
analyzedTimeframes (array)
failedTimeframes (array)
failureReasons (map)
performance (PerformanceProfile)
validation (ValidationResult)
dataQualityScore (series float)
config (AnalysisConfig)
tfConfig (TimeframeConfig)
analysisTimestamp (series int)
DebugLogEntry
Debug log entry
Fields:
timestamp (series int)
level (series string)
module (series string)
function (series string)
message (series string)
context (series string)
data (map)
barIndex (series int)
timeframe (series string)
DebugLogger
Debug logger with configurable levels
Fields:
entries (array)
maxEntries (series int)
currentLevel (series string)
enabled (series bool)
enabledModules (array)
showTimestamp (series bool)
showBarIndex (series bool)
outputFormat (series string)
PerformanceMeasurement
Performance measurement
Fields:
name (series string)
startTime (series int)
endTime (series int)
duration (series float)
iterations (series int)
avgDuration (series float)
status (series string)
context (series string)
TraceEntry
Execution trace entry
Fields:
function (series string)
module (series string)
entryTime (series int)
exitTime (series int)
isEntry (series bool)
parameters (series string)
returnValue (series string)
depth (series int)
ExecutionTracer
Execution tracer
Fields:
traces (array)
currentDepth (series int)
maxDepth (series int)
enabled (series bool)
maxTraces (series int)
CacheEntry
Cache entry
Fields:
key (series string)
data (series string)
timestamp (series int)
ttl (series int)
accessCount (series int)
lastAccess (series int)
CacheManager
Cache manager
Fields:
name (series string)
entries (map)
maxEntries (series int)
defaultTTL (series int)
enabled (series bool)
hits (series int)
misses (series int)
evictions (series int)
RiskAssessment
Core risk assessment result
Fields:
riskLevel (series string)
riskScore (series float)
riskRewardRatio (series float)
successProbability (series float)
maxDrawdownExpected (series float)
positionRisk (series float)
portfolioExposure (series float)
correlationRisk (series float)
concentrationRisk (series float)
volatilityRisk (series float)
liquidityRisk (series float)
timeframeRisk (series float)
newsEventRisk (series float)
supportResistanceRisk (series float)
trendRisk (series float)
momentumRisk (series float)
volumeRisk (series float)
hasHighRisk (series bool)
hasExtremeRisk (series bool)
riskWarnings (array)
riskFactors (array)
recommendedPositionSize (series float)
stopLossDistance (series float)
takeProfitDistance (series float)
shouldAvoidTrade (series bool)
riskMitigationStrategy (series string)
assessmentTimestamp (series int)
assessmentMethod (series string)
performance (PerformanceProfile)
PositionData
Comprehensive position data
Fields:
hasPosition (series bool)
positionSide (series string)
positionSize (series float)
entryPrice (series float)
entryTimestamp (series int)
entryReason (series string)
unrealizedPnL (series float)
realizedPnL (series float)
maxUnrealizedGain (series float)
maxUnrealizedLoss (series float)
totalReturn (series float)
stopLossPrice (series float)
takeProfitPrice (series float)
riskAmount (series float)
riskRewardRatio (series float)
currentRisk (RiskAssessment)
barsInPosition (series int)
maxBarsAllowed (series int)
isTimedOut (series bool)
timeframe (series string)
hasExitSignal (series bool)
exitReason (series string)
exitScore (series float)
shouldExit (series bool)
exitUrgency (series string)
actionHistory (array)
timestampHistory (array)
reasonHistory (array)
sharpeRatio (series float)
maxDrawdown (series float)
winRate (series float)
avgHoldTime (series float)
StrategyTemplate
Base strategy template
Fields:
name (series string)
description (series string)
category (series string)
timeframes (array)
entryThreshold (series float)
entryConfidenceMin (series float)
requiredSignals (array)
excludeConditions (array)
exitThreshold (series float)
stopLossPercent (series float)
takeProfitPercent (series float)
maxBarsInTrade (series int)
maxPositionSize (series float)
basePositionSize (series float)
useVolatilityAdjustment (series bool)
useConfidenceAdjustment (series bool)
maxRiskPerTrade (series float)
maxDailyRisk (series float)
maxDrawdownLimit (series float)
useAdaptiveRisk (series bool)
requireConsensus (series bool)
minConsensusPercent (series float)
avoidNewsEvents (series bool)
requireVolume (series bool)
targetSharpeRatio (series float)
targetWinRate (series float)
targetRiskReward (series float)
parameters (map)
flags (map)
settings (map)
MetricDataPoint
Performance metric data point
Fields:
timestamp (series int)
value (series float)
name (series string)
unit (series string)
labels (map)
source (series string)
MetricStats
Metric statistics
Fields:
min (series float)
max (series float)
avg (series float)
sum (series float)
count (series int)
p50 (series float)
p95 (series float)
p99 (series float)
stdDev (series float)
firstTimestamp (series int)
lastTimestamp (series int)
MetricDataPointArray
Wrapper for array of metric data points (to avoid nested collections)
Fields:
dataPoints (array)
MetricsCollector
Metrics collector
Fields:
metrics (map)
stats (map)
maxDataPoints (series int)
retentionPeriod (series int)
autoCleanup (series bool)
enabled (series bool)
enabledMetrics (array)
lastCleanupTime (series int)
ComponentHealth
Component health status
Fields:
name (series string)
status (series string)
healthScore (series float)
lastCheckTime (series int)
warnings (array)
errors (array)
metrics (map)
lastError (series string)
errorCount (series int)
warningCount (series int)
isOperational (series bool)
SystemHealth
System health overview
Fields:
overallStatus (series string)
overallScore (series float)
healthyComponents (series int)
degradedComponents (series int)
unhealthyComponents (series int)
components (array)
systemWarnings (array)
systemErrors (array)
lastFullCheckTime (series int)
autoHealing (series bool)
healingAttempts (series int)
HealthAlert
Health alert
Fields:
level (series string)
component (series string)
message (series string)
timestamp (series int)
acknowledged (series bool)
category (series string)
ZoneDetection
Advanced zone data structure
Fields:
upper (series float)
lower (series float)
mid (series float)
height (series float)
score (series float)
quality (series string)
touchCount (series int)
lastTouchBar (series int)
creationBar (series int)
role (series int)
zoneType (series string)
isActive (series bool)
isBroken (series bool)
flipBar (series int)
flipRetestCount (series int)
flipBestQuality (series float)
flipScore (series float)
hasFlipped (series bool)
htfOverlap (series bool)
htfTimeframe (series string)
htfConfidence (series float)
retestQuality (series float)
volumeProfile (series float)
volatilityProfile (series float)
freshnessScore (series float)
successfulBounces (series int)
failedBreakouts (series int)
successRate (series float)
avgHoldTime (series float)
zoneBox (series box)
midLine (series line)
zoneLabel (series label)
flipLabel (series label)
ZoneDetectionConfig
Zone analysis configuration
Fields:
pivotPeriod (series int)
atrMultiplier (series float)
atrLength (series int)
maxZones (series int)
mergeThreshold (series float)
minTouchesForSignificance (series int)
weightTouches (series float)
weightFreshness (series float)
weightVolume (series float)
weightHTF (series float)
minWickPercent (series float)
maxBodyPercent (series float)
freshnessHalfLife (series int)
useHTFProjection (series bool)
htfTimeframe (series string)
htfPivotCount (series int)
htfProjectionMultiplier (series float)
ChannelConfig
Fields:
kcEmaLength (series int)
kcAtrLength (series int)
kcMultiplier (series float)
dcLength (series int)
bbLength (series int)
bbMultiplier (series float)
pivotLength (series int)
atrThreshold (series float)
minBarsPerLeg (series int)
minTouchCount (series int)
mergeThreshold (series float)
ChannelState
Fields:
kcUpper (series float)
kcLower (series float)
kcBasis (series float)
kcAtr (series float)
dcUpper (series float)
dcLower (series float)
dcMid (series float)
bbUpper (series float)
bbLower (series float)
bbBasis (series float)
bbStdev (series float)
squeezeRatio (series float)
isSqueezeActive (series bool)
isExpanding (series bool)
touchKcUpper (series bool)
touchKcLower (series bool)
touchDcUpper (series bool)
touchDcLower (series bool)
kcBreakoutUp (series bool)
kcBreakoutDown (series bool)
dcReentryUp (series bool)
dcReentryDown (series bool)
squeezeBreakUp (series bool)
squeezeBreakDown (series bool)
kcDepth (series float)
dcWidth (series float)
squeezeIntensity (series float)
ChannelSignal
Fields:
signalType (series string)
direction (series int)
strength (series float)
description (series string)
isQualitySignal (series bool)
VwapConfig
Fields:
pivotLeftBars (series int)
pivotRightBars (series int)
clusterTolerancePercent (series float)
minBarsBetweenSignals (series int)
crossThreshold (series float)
enableThrottling (series bool)
detectClusters (series bool)
VwapState
Fields:
sessionVwap (series float)
sessionVwapPrev (series float)
anchoredVwapHigh (series float)
anchoredVwapLow (series float)
hasAnchoredHigh (series bool)
hasAnchoredLow (series bool)
priceCrossUp (series bool)
priceCrossDown (series bool)
canShowPriceCross (series bool)
structureCrossUp (series bool)
structureCrossDown (series bool)
canShowStructureCross (series bool)
isClusterActive (series bool)
canShowCluster (series bool)
clusterTolerance (series float)
vwapsInCluster (series bool)
priceInCluster (series bool)
priceVwapPosition (series int)
priceVwapDistance (series float)
priceVwapDistancePercent (series float)
crossStrength (series float)
clusterStrength (series float)
structureStrength (series float)
VwapSignal
Fields:
signalType (series string)
direction (series int)
strength (series float)
description (series string)
isHighConfidence (series bool)
barIndex (series int)
VwapAnchors
Fields:
cumulativePV (series float)
cumulativeV (series float)
anchorPV_High (series float)
anchorV_High (series float)
hasHighAnchor (series bool)
anchorPV_Low (series float)
anchorV_Low (series float)
hasLowAnchor (series bool)
lastPriceCrossBar (series int)
lastStructureCrossBar (series int)
lastClusterBar (series int)
ZoneConfig
Fields:
htfTimeframe (series string)
useHTF (series bool)
maxZonesPerSide (series int)
rankFavorHTF (series bool)
rankFavorFVG (series bool)
rankFavorFresh (series bool)
showOnlyTopRank (series bool)
alphaTop (series int)
alphaRest (series int)
biasLength (series int)
biasBandMultiplier (series float)
targetMode (series string)
atrLength (series int)
atrSteps (series string)
sigmaLength (series int)
sigmaSteps (series string)
useSSL (series bool)
useFVGFills (series bool)
confirmMidline (series bool)
confirmBreak (series bool)
requireBias (series bool)
lazyTargets (series bool)
nearPercent (series float)
Zone
Fields:
top (series float)
bottom (series float)
mid (series float)
bornTime (series int)
isBull (series bool)
isHTF (series bool)
touched (series bool)
violated (series bool)
hasFVG (series bool)
score (series float)
rank (series int)
zoneBox (series box)
midLine (series line)
isActive (series bool)
ZoneState
Fields:
zonesTF (array)
zonesHTF (array)
bias (series int)
biasScore (series float)
biasRegime (series string)
vwapLevel (series float)
bandUpper (series float)
bandLower (series float)
targetLevels (array)
targetLines (array)
activeBullZones (series int)
activeBearZones (series int)
totalZones (series int)
avgZoneScore (series float)
longSignal (series bool)
shortSignal (series bool)
nearestBullZone (Zone)
nearestBearZone (Zone)
ZoneSignal
Fields:
signalType (series string)
sourceZone (Zone)
strength (series float)
description (series string)
confirmed (series bool)
barIndex (series int)
VolumeConfig
Fields:
profileMode (series string)
fixedLength (series int)
rollingLength (series int)
sessionString (series string)
binCount (series int)
valueAreaPercent (series float)
useHLC3 (series bool)
useHTF1 (series bool)
htfTimeframe1 (series string)
useHTF2 (series bool)
htfTimeframe2 (series string)
pivotLookback (series int)
pivotToleranceATR (series float)
enableAutoTuning (series bool)
vaPct_eff (series float)
epsATR_eff (series float)
adaptiveAlpha (series float)
choppinessLength (series int)
choppyThreshold (series float)
trendingThreshold (series float)
useMarketRegime (series bool)
enableLVNSignals (series bool)
enableVASignals (series bool)
maxRetestDistanceATR (series float)
useEMAFilter (series bool)
useSupertrendFilter (series bool)
useMOSTFilter (series bool)
showPOC (series bool)
showValueArea (series bool)
showNodes (series bool)
showSilhouette (series bool)
silhouetteOffset (series int)
silhouetteWidth (series int)
zoneOpacity (series int)
enableSessionSplits (series bool)
maxSessionCount (series int)
VolumeNode
Fields:
price (series float)
volume (series float)
nodeType (series string)
prominence (series float)
isSignificant (series bool)
VolumeProfile
Fields:
pocPrice (series float)
pocVolume (series float)
valueAreaHigh (series float)
valueAreaLow (series float)
totalVolume (series float)
windowStart (series int)
windowLength (series int)
windowHigh (series float)
windowLow (series float)
binVolumes (array)
binPrices (array)
hvnNodes (array)
lvnNodes (array)
nearestLVN (series float)
nearestHVN (series float)
htfConfluence (series bool)
pocLine (series line)
valueAreaBox (series box)
nodeBoxes (array)
silhouette (series polyline)
VolumeState
Fields:
currentProfile (VolumeProfile)
sessionProfiles (array)
trendBullish (series bool)
emaConfluence (series float)
supertrendBull (series bool)
mostBull (series bool)
choppiness (series float)
isChoppy (series bool)
isTrending (series bool)
marketRegime (series string)
vaPct_current (series float)
epsATR_current (series float)
smoothingFactor (series float)
longLVNSignal (series bool)
shortLVNSignal (series bool)
longVASignal (series bool)
shortVASignal (series bool)
volumeScore (series float)
passFilter (series bool)
inValueArea (series bool)
abovePOC (series bool)
pocRising (series bool)
nearLVN (series bool)
VolumeSignal
Fields:
signalType (series string)
direction (series int)
strength (series float)
description (series string)
triggerPrice (series float)
hasConfluence (series bool)
barIndex (series int)
HTFConfig
Fields:
timeframes (array)
tfWeights (array)
autoSelectTFs (series bool)
maxTimeframes (series int)
trendLength (series int)
trendThreshold (series float)
trendMethod (series string)
stackThreshold (series float)
requireAllTFs (series bool)
confluenceBonus (series float)
enableAutoTuning (series bool)
choppinessLength (series int)
choppyThreshold (series float)
trendingThreshold (series float)
showStackPanel (series bool)
panelPosition (series string)
panelRows (series int)
panelCols (series int)
showTooltips (series bool)
HTFTrendData
Fields:
timeframe (series string)
trendStrength (series float)
trendDirection (series string)
confidence (series float)
isValid (series bool)
weight (series float)
trendColor (series color)
HTFStackState
Fields:
tfData (array)
bullConfluence (series float)
bearConfluence (series float)
stackStrength (series float)
stackBias (series string)
choppiness (series float)
isChoppy (series bool)
isTrending (series bool)
marketRegime (series string)
vaPct_eff (series float)
epsATR_eff (series float)
adaptiveAlpha (series float)
bullStackSignal (series bool)
bearStackSignal (series bool)
stackBreakSignal (series bool)
stackTable (series table)
tfLabels (array)
strengthBars (array)
RedefiningTechnicalAnalysisCore
Main library state container
Fields:
analysisConfig (AnalysisConfig)
timeframeConfig (TimeframeConfig)
activeStrategy (StrategyTemplate)
lastAnalysis (MultiTimeframeResult)
lastSignal (SignalResult)
lastRisk (RiskAssessment)
currentPosition (PositionData)
isInitialized (series bool)
lastUpdateTime (series int)
currentTimeframe (series string)
globalPerformance (PerformanceProfile)
systemHealth (SystemHealth)
metricsCollector (MetricsCollector)
analysisCache (CacheManager)
calculationCache (CacheManager)
recentErrors (array)
recentWarnings (array)
errorCount (series int)
warningCount (series int)
debugLogger (DebugLogger)
debugMode (series bool)
extensionData (map)
featureFlags (map)
Golden Cross Screener [Pineify]Golden Cross Screener Pineify – Multi-Symbol Trend Detection Screener for TradingView
Discover the Golden Cross Screener Pineify for TradingView: a multi-symbol, multi-timeframe indicator for crypto and other assets. Customizable Golden Cross detection, robust algorithm, and intuitive screener design for smarter portfolio trend analysis.
Key Features
Multi-symbol screening across major cryptocurrencies or assets – BTCUSD, ETHUSD, XRPUSD, USDT, BNB, SOLUSD, DOGEUSD, TRXUSD (fully customizable).
Multi-timeframe analysis (e.g., 1m, 5m, 10m, 30m), enabling robust trend detection from scalp to swing.
Customizable Moving Average settings for both Fast and Slow MA (source and length).
Efficient screener table, highlighting Golden Cross events and current asset trends in one panel.
Visual cues for bullish, bearish, and cross states using intuitive color-coding and labels.
Flexible symbol and timeframe inputs to tailor the screener to any portfolio or watchlist.
How It Works
The Golden Cross Screener Pineify leverages the classic Golden Cross methodology—a bullish trend signal triggered when a shorter-term moving average crosses above a longer-term moving average. To improve robustness, you are empowered to configure both Fast MA and Slow MA periods and sources, making the detection logic applicable to any symbol, timeframe, or asset class.
Internally, the script runs dedicated calculations on each chosen symbol and timeframe, generating independent signals using exponential moving averages (EMA). Using the TradingView `request.security` function, it fetches and processes price data for up to eight portfolio assets on four timeframes, displaying the detected Golden Cross, Bullish, or Bearish states in a central screener table.
Trading Ideas and Insights
Spot emerging bullish or bearish trends across your favorite crypto pairs or trading assets in real time.
Capture prime opportunities when multiple assets align with Golden Cross signals—ideal for portfolio rebalancing or rotational strategies.
Analyze trend consistency by monitoring cross events at multiple timeframes for a given asset.
Swiftly identify when short-term and long-term momentum diverge—flagging potential reversals or trend initiations.
The Golden Cross Screener Pineify is not just a trend signal; it’s a holistic multi-asset scanner built for traders who know the power of combining technical breadth with agile timing.
How Multiple Indicators Work Together
This screener stands out with its modular approach: each asset/timeframe pair is monitored in isolation, yet displayed collectively for multidimensional market insight. Each symbol’s price action is processed through independently configured EMAs—Fast and Slow—whose crossovers are analyzed for directional bias. The implementation’s real innovation is in its screener table engine: it aggregates signals, synchronizes timeframes, and color-codes market states, allowing users to see confluences, divergences, and sector trends at a glance.
Combining Golden Cross detection with customizable moving averages and flexible multi-timeframe, multi-symbol scanning means users can fine-tune sensitivity, focus on specific signals, and adapt screener logic for scalping, swing trading, or investing.
Unique Aspects
True multi-symbol screener within the TradingView indicator framework.
Full customization of screener assets, timeframes, and moving averages.
Advanced, efficient use of TradingView table for clear, actionable visualization.
No dependency on standard, static MA settings—adjust everything to match your strategy.
Big-picture and granular trend detection in one tool, designed for both active traders and portfolio managers.
How to Use
Add the Golden Cross Screener Pineify to your TradingView chart.
Choose up to eight symbols—crypto, stock, forex, or custom assets.
Set four timeframes for screening, from lower to higher intervals.
Adjust moving average sources (price, close, etc.) and period lengths for both Fast and Slow MAs to suit your trading style.
Interpret table cells: clear labels and color indicate Golden Cross (trend shift), Bullish (uptrend), Bearish (downtrend) states for each symbol/timeframe.
React to signal alignments—deploy or rebalance positions, increase alert sensitivity, or backtest sequence confluences.
Customization
The indicator’s inputs panel gives full control:
Select which symbols to screen, making it perfect for any asset watchlist.
Pick the desired timeframes—mix daily, hourly, or minute-based intervals.
Adjust Fast and Slow MA settings: switch source type, change period length, and fine-tune detection logic as needed.
Style your screener table via TradingView settings (colors, font sizes, alignment).
Every element is customizable—adapt the Golden Cross Screener Pineify for your specific portfolio, trading timeframe, and strategy focus.
Conclusion
The Golden Cross Screener Pineify elevates multi-symbol trend detection to a new level on TradingView. By combining configurable Golden Cross logic with a powerful screener engine, it serves both precision and broad market insight—crucial for agile traders and strategic portfolio managers. Whether you’re tracking crypto pairs, stocks, forex, or a mix, this tool transforms static trend analysis into an active, multi-dimensional trading edge.